C中char类型的大小

nos*_*nos 6 c sizeof char

可能重复:
为什么C字符文字的内部而不是字符?

乡亲,

我试图在C中打印出char的大小.通过以下代码,我得到了结果输出

int, 4
char, 1
char?, 4
Run Code Online (Sandbox Code Playgroud)

为什么最后一个与第二个不一样?谢谢.

#include <stdio.h>

main()
{
    int a = 2;
    char b = '2';
    printf("int, %d\n",sizeof(a));
    printf("char, %d\n",sizeof(b));
    printf("char?, %d\n",sizeof('a'));
}
Run Code Online (Sandbox Code Playgroud)

rob*_*off 24

在C中,字符常量就像'a'有类型一样int.

这与C++和Java不同,其中字符常量类似于'a'has char,