可能重复:
C/C++ 中字符('a')的大小
操作系统:linuxmint 32 位
编译器:gcc & g++
我试过这段代码:
#include <stdio.h>
int main()
{
printf("%d\n",sizeof('a'));
return 0;
}
我用 gcc 编译它,结果是4
,我改成 g++ ,它是1
然后我使用:
sizeof(char)
,结果是1
我使用: char s = 'a'; printf('%d\n', sizeof(s));
结果是1
但是我在网上搜索,有人说他们得到了1
or的结果2
。
那么为什么会有这么多不同的结果呢?