我正在尝试运行以下代码,但对这里发生的事情感到困惑:
int main()
{
/*
a = -1;
b = 0xffffffff;
*/
if(-1 == 0xffffffff )
printf("-1 is equal to maximum\n");
else
printf(" -1 is not equal to maximum\n");
if(0xff < -1)
printf(" Less than -1 \n");
if(0xff < 0xffffffff)
printf(" Less than maximum\n");
我也尝试使用注释部分并将 -1 替换为“a”,将 0xffffffff 替换为“b”,但结果相同。
它是 32 位系统,所以我采用了 4 字节的整数大小。
我的输出是:
-1 is equal to maximum
Less than maximum
如果 -1 等于最大值,那么它应该执行最后两个 if 语句。但它没有发生。为什么?