我有一小段代码.当我在我的DevC++ gnu编译器上运行它时,它显示以下输出:
main ()
{ char b = 'a';
printf ("%d,", sizeof ('a'));
printf ("%d", sizeof (b));
getch ();
}
Run Code Online (Sandbox Code Playgroud)
输出:4,1
为什么被'a'视为整数,而b被视为只是一个字符常量?
因为字符文字是类型int而不是charC语言.
所以sizeof 'a' == sizeof (int).
请注意,在C++中,字符文字的类型的char等等sizeof 'a' == sizeof (char).