Why do we define INT_MIN as -INT_MAX – 1? [duplicate]
Because 2147483648 is a long value as it does not fit in an int (in common system with 32-bit int and 64-bit long, on system with 32-bit long it is of type long long). So -2147483648 is of type long, not int. Remember in C, an unsuffixed decimal integer constant is of the first type … Read more