There is a problem which makes me very puzzled today.When I read the APPENDIX B, B11, the content of of The C Programming Language , I found that it's saying the INT_MIN is -32767, and INT_MIN is also 32767. But, in fact, The -INT_MAX should be greater than INT_MAX by 1, shouldn't it? And I have tried to find the answer on the net, and found something information about saying that the INT_MAX has been defined to the (-INT_MAX - 1), and something other information is same to the TCPL. In my program,the print of the INT_MIN is all -2147483648 and greater than -INT_MAX by 1; So, does there have something wrong in The C Programming Language?
#include <stdio.h>
#include <limits.h>
int main()
{
signed int i1, i11;
printf("signed int:\n%d, %d\n", INT_MIN, INT_MAX);
i1 = i11 = 6;:
for(;i1 <= i11; --i1);
printf("%d, ", ++i1);
for(;i1 >= i11; ++i1);
printf("%d\n", --i1);
return 0;
}