#include <stdio.h>
int main()
{
char b = 'a';
printf("a === %d\n",(int)sizeof('a'));
printf("b === %d\n",(int)sizeof(b));
return 0;
}
猜猜結果是如何:
a === 4
b === 1
#include <iostream>
using namespace std;
int main()
{
char a = 'a';
cout << "a === " << sizeof('a') << endl;
cout << "b === " << sizeof(a) << endl;
return 0;
}
猜猜結果是如何:
a === 1
b === 1
原因
在C標準中:
char 和 字符變量屬於字符常量,大小當然是1。
‘a’被稱作整形字符常量(integer character constant),相當於是int類型,故爲4。
在C++標準中:
char、變量a、’a’ 都稱爲字符型變量(character literal)。