今天在做题的时候看到了一个第一幅图这样的代码,用了整型变量int存储了一个字符常量,我觉得这样不行吧,但我自己去实践了确实是可以运行的,再换成char也是一样的效果,我就在想是否在一定情况下int和char可以通用呢,如果可以的话是不是跟ASCII码有关呀,getchar里相当于输入了一个整形,但感觉也说不通😂 😂 😂 因为只能输入字符 。
关于ASCII码我就知道可以用第二个图里的格式来定义字符。
int类型来存储char类型是可以的,只要char类型的的ASCLL码不超过127,如汉字的ASCLL码就大于127,用int类型的存储也输出不了
#include<stdio.h>
int main()
{
char a=getchar();
putchar(a);
int t=a;
printf("\n%c\n",t);
printf("t:%d\n",t);
return 0;
}
char占一个字节,int占四个字节,所以char类型可以用int类型存储
getchar返回值是int类型,是因为当getchar读取字符失败时得返回EOF,而EOF被定义为int类型负值