#include <stdio.h>
int i;
int main()
{
i--;
if (i > sizeof(i))
{
printf(">\n");
}
else
{
printf("<\n");
}
return 0;
}
A. >
B. <
C. 不输出
D. 程序有问题
按道理来说i为初始化默认为0;i–后为-1;而i为整形其大小为4个字节;-1<4;应该选B
但是由于sizeof返回的无符号类型,也会把左边的-1转换为无符号,其存储方式为11111111,是一个超级大的数字,所以答案选A
本文探讨了一个关于C语言中sizeof运算符应用的例子程序。通过对一个未初始化整型变量的操作和比较,解释了signed与unsigned类型转换的影响及如何正确判断变量占用内存大小。
878

被折叠的 条评论
为什么被折叠?



