我有以下代码:
int main() {
char x='a';
printf("integer = %ld\ncharacter = %ld\nx = %ld\n", sizeof(int),sizeof('a'),sizeof(x);
return 0;
}
,输出为:
整数= 4
character = 4
x = 1
我的问题是为什么 char变量x 的大小不等于 'a' 。
实际上带来了什么不同?
感谢您的帮助
答案 0 :(得分:3)
因为在C中,单个字符常量(例如'a'
或'0'
)的类型为int
而不是char
。这在C ++中是不同的,它们的类型为char
。