在C++中,sizeof('a') == sizeof(char) == 1
.这很直观,因为'a'
是字面字符,而sizeof(char) == 1
是标准定义的.
然而,在C中,是sizeof('a') == sizeof(int)
.也就是说,看起来C字符文字实际上是整数.有人知道为什么吗?我可以找到很多关于这个C语言怪癖的提及,但没有解释它为什么会存在.
在C++中,sizeof('a') == sizeof(char) == 1
.这很直观,因为'a'
是字面字符,而sizeof(char) == 1
是标准定义的.
然而,在C中,是sizeof('a') == sizeof(int)
.也就是说,看起来C字符文字实际上是整数.有人知道为什么吗?我可以找到很多关于这个C语言怪癖的提及,但没有解释它为什么会存在.
关于same subject的讨论
"更具体地说是整体促销.在K&R C,它实际上是(?)