在C运算符的sizeof() [英] Operator sizeof() in C
本文介绍了在C运算符的sizeof()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
审议该方案
main()
{
printf("%d %d %d",sizeof('3'),sizeof("3"),sizeof(3));
}
从 gcc编译器输出是:
4 2 4
为什么会这样呢?
Why is it so?
推荐答案
假设你是在32位系统上运行:
Assuming you are running on a 32-bit system:
sizeof的字符文字3是4,因为字符文字是用C语言整数(但不是C ++)。
sizeof a character literal '3' is 4 because character literals are ints in C language (but not C++).
sizeof的3是2,因为它是一个数组文本长度2(数字3加空终结符)。
sizeof "3" is 2 because it is an array literal with length 2 (numeral 3 plus NULL terminator).
sizeof的字面3是4,因为它是一个int。
sizeof literal 3 is 4 because it is an int.
这篇关于在C运算符的sizeof()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文