obo*_*obo 4 c
可能重复: 为什么C字符文字的内部而不是字符?
http://ideone.com/lHYY8
int main(void) { printf("%d %d\n", sizeof('c'), sizeof(char)); return 0; }
为什么sizeof('c')返回4而不是1?
sizeof('c')
cni*_*tar 16
因为在C字符常量中有类型int,而不是char.所以sizeof('c') == sizeof(int).请参阅此C FAQ
int
char
sizeof('c') == sizeof(int)
也许令人惊讶的是,C中的字符常量是int类型,因此sizeof('a')是sizeof(int)(尽管这是C++不同的另一个区域).
归档时间:
13 年,10 月 前
查看次数:
328 次
最近记录: