6
なぜ0 <-0x80000000なのですか?
以下に簡単なプログラムを示します。 #include <stdio.h> #define INT32_MIN (-0x80000000) int main(void) { long long bal = 0; if(bal < INT32_MIN ) { printf("Failed!!!"); } else { printf("Success!!!"); } return 0; } 条件if(bal < INT32_MIN )は常に真です。どのようにして可能ですか? マクロを次のように変更すると正常に動作します。 #define INT32_MIN (-2147483648L) 誰でも問題を指摘できますか?