C中char类型的大小

时间:2012-03-03 19:19:07

标签: c char sizeof

  

可能重复:
  Why are C character literals ints instead of chars?

人,

我尝试在C中打印出char的大小。使用以下代码,我将结果输出为

int, 4
char, 1
char?, 4

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

#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'));
}

1 个答案:

答案 0 :(得分:24)

在C中,像'a'这样的字符常量的类型为int

这与C ++和Java不同,其中像'a'这样的字符常量具有类型char