Warum ist 0 <-0x80000000?
Ich habe unten ein einfaches Programm:
#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;
}
Die Bedingungif(bal < INT32_MIN )
ist immer wahr. Wie ist es möglich
Es funktioniert gut, wenn ich das Makro ändere zu:
#define INT32_MIN (-2147483648L)
ann jemand auf das Problem hinweise