gpt4 book ai didi

c - 为什么编译器将字符视为整数?

转载 作者:太空狗 更新时间:2023-10-29 15:20:19 25 4
gpt4 key购买 nike

我有一小段代码。当我在我的 DevC++ gnu 编译器上运行它时,它显示以下输出:

 main ()
{ char b = 'a';
printf ("%d,", sizeof ('a'));
printf ("%d", sizeof (b));
getch ();
}

OUTPUT: 4,1

为什么 'a' 被视为整数,而 b 仅被视为字符常量?

最佳答案

因为字符字面量是 int 类型,而不是 C 中的 char 类型。

所以 sizeof 'a' == sizeof (int)

请注意,在 C++ 中,字 rune 字的类型为 char,因此 sizeof 'a' == sizeof (char)

关于c - 为什么编译器将字符视为整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11672582/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com