sizeof('z')结果出乎意料

时间:2011-05-28 18:57:06

标签: c sizeof

  

可能重复:
  Size of character ('a') in C/C++

为什么这个程序输出4而不是1?

void main()
{
   printf("%d",int(sizeof('z')));
}

'z'是一个字符,sizeof('z')必须打印1?

2 个答案:

答案 0 :(得分:8)

'z'是字符文字,在C中,字符文字的类型为int。因此sizeof('z')等于sizeof(int)您的实施。

答案 1 :(得分:8)

Sizeof char

  

也许令人惊讶的是,角色   C中的常量是int 类型,所以   sizeof('a')sizeof(int)