可能重复:
C/C++中的字符大小('a')
以下程序
#include <stdio.h>
int main()
{
printf("%d\n", sizeof('\0'));
printf("%d\n", sizeof(0));
}
Run Code Online (Sandbox Code Playgroud)
用gcc输出编译
4
4
Run Code Online (Sandbox Code Playgroud)
和g ++
1
4
Run Code Online (Sandbox Code Playgroud)
为什么会这样?我知道这不是编译器的事情,而是C和C++之间的区别,但是原因是什么?
Dan*_*her 35
在C中,字符常量的类型int
符合标准的6.4.4.4(10),
整数字符常量的类型为int.包含映射到单字节执行字符的单个字符的整数字符常量的值是解释为整数的映射字符的表示的数值.
因此,你打印出int
两倍的大小.
在C++中,字符常量具有类型char
.
归档时间: |
|
查看次数: |
1135 次 |
最近记录: |