1、变量c1和c2的类型定义为字符型或整形都是可以的,因为字符在底层就是以其对应的ASCII码值存储的,也就是一个十进制的整数。
2、整形变量和字符变量并不是可以在任何情况下都可以互相代替,因为字符的大小只有一个字节,存储的数据范围比整形要小,所以不能相互代替,但是如果是字符的取值范围(有符号字符类型的取值范围是:-128~127)内应该是可以相互代替的。
参考链接:
#include <stdio.h>
void useCharTest(){
char c1,c2;
printf("\n\n变量c1,c2使用字符类型的测试结果:\n");
printf("请输入两个字符(ex:ab): ");
c1=getchar();
c2=getchar();
printf("使用putchar函数打印:");
putchar(c1);
putchar(c2);
printf("\n\n使用printf函数打印:");
printf("%c%c",c1,c2);
// https://blog.csdn.net/weixin_63228975/article/details/125586416
fflush(stdin);
}
void useIntTest(){
int c1,c2;
printf("\n\n变量c1,c2使用整形类型的测试结果:\n");
printf("请输入两个字符(ex:ab): ");
c1=getchar();
c2=getchar();
printf("使用putchar函数打印:");
putchar(c1);
putchar(c2);
printf("\n\n使用printf函数打印:");
printf("%c%c",c1,c2);
fflush(stdin);
}
int main(void){
useCharTest();
useIntTest();
return 0;
}