为什么C字符文字是INT而不是字符?
在C+中,sizeof('a') == sizeof(char) == 1..这很直观,因为'a'是一个字符文字,并且sizeof(char) == 1按照标准的定义。
sizeof('a') == sizeof(char) == 1
'a'
sizeof(char) == 1
然而,在C语言中,sizeof('a') == sizeof(int)..也就是说,C字符文字实际上是整数。有人知道为什么吗?我可以找到很多提到这个C怪癖,但没有解释为什么它存在。
sizeof('a') == sizeof(int)
肥皂起泡泡
炎炎设计
相关分类