为什么sizeof字符常量是4个字节?
下面的程序产生
输出 – 1 4 4
#include void main() { char ch; ch='A'; printf("%d %d %d\n",sizeof(ch),sizeof('A'),sizeof(3.2f)); }
为什么字符常量的大小是4个字节?
因为根据C标准,字符常量的类型是int
,而不是char
。
实际上,这是您平台上的sizeof(int)
。
ch是char类型,所以1个字节。
‘A’是int类型,所以4个字节。 因为在C中,字符常量是int类型。
最后是浮点值所以4个字节。
这些值根据您使用的机器而定。
编辑 –
int和float的范围取决于您使用的机器,16位int与32位int一样通用。