问我认为我的编译器出错了:我刚注意到sizeof('a')是 2,而不是 1(即不是sizeof(char)).
答可能令人惊讶的是,C 语言中的字符常量其类型为int,所以sizeof('a')是sizeof(int)(尽管这是 C++ 与之不同的另一个领域)。另请参阅问题 7.8 以及 此脚注。
参考文献:ISO 第 6.1.3.4 节H&S 第 2.7.3 节,第 29 页
由 托管