sizeof('z') result unexpected [duplicate]

大憨熊 提交于 2019-12-12 10:27:05

问题


Possible Duplicate:
Size of character ('a') in C/C++

Why does this program output 4 and not 1?

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

'z' is a character and sizeof('z') must print 1?


回答1:


'z' is a character literal and in C a character literal is of type int. So sizeof('z') equals sizeof(int) on your implementation.




回答2:


Sizeof char.

Perhaps surprisingly, character constants in C are of type int, so sizeof('a') is sizeof(int)



来源:https://stackoverflow.com/questions/6163776/sizeofz-result-unexpected

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!