要点是,字符常量
不是
char 类型!
sizeof(char)
是 1,而
sizeof(int)
在大多数机器上是 2 或 4。现在,像
'a'
这样的常量,尽管它看起来像一个字符,但在编译器看来,它实际上是一个整数,所以
sizeof('a') == sizeof(int)
.
只有当你假设字符常量是 char 类型时,它才会令人困惑。如果你知道“字符常量是 int 类型”的规则,即使这条规则本身似乎没什么意义,它也完全说得通。
返回
关于此 FAQ 列表
关于 Eskimo
搜索
反馈
版权
由
托管