读书人

急需详细解答

发布时间: 2012-11-08 08:48:11 作者: rapoo

需要详细解答
#include "stdio.h"
void main()
{char a ;
a=65;
printf("%d",sizeof(a));

}这个输出的是1,这个一证明到a=65;这一步时,完全运算后,a是字符还是成了短整型呢?谢谢,我需要详细的解答

[解决办法]

a的类型是不会变的.还是char;

65 (一个整型字面量)的类型是int .

a = 65 一句是, 65 经过标准转换,转换成 char 类型,然后再作为 "= " 操作符的右操作数..
详见 the C programming language.
[解决办法]

探讨

啊?怎么会是这样,不是先赋值操作,然后再把a转换成a定义的类型吗,还有,我问的是。a=65;这一步计算机操作完之后,a是字符还是数字,等你回复。引用:
a的类型是不会变的.还是char;

65 (一个整型字面量)的类型是int .

a = 65 一句是, 65 经过标准转换,转换成 char 类型,然后再作为 "= " 操作符的右操作数.……

读书人网 >C语言

热点推荐