例题:
下面代码的结果是:
#include <stdio.h>
int i;
int main()
{
i--;
if (i > sizeof(i))
{
printf(">\n");
}
else
{
printf("<\n");
}
return 0;
}
A.>
B.<
C.不输出
D.程序有问题
首先,我可以明确一点的是,这道题不选择D和C,在本函数中,由于int i 是一个全局变量,它存放的是静态区,
C标准是要求全局变量要被初始化为零值,因此即使你没有初始化该值那么依然会被系统初始化为0,然而,sizeof类型是属于unsigned int 类型,也就是说,-1需要进行一拨转换,然而-1转换为无符号整形数字是比较大的,那么的话,明显是>,那么就选则的是A
评论