次のコードを実行しようとしていますが、ここで何が起こっているのか混乱しています。
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がmaximumに等しい場合、最後の2つのifステートメントの両方を実行する必要があります。しかし、それは起こっていません。なんで?