为什么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一样通用。