在《CSAPP》中提到:
#define INT_MAX 2147483647 #define INT_MIN (-INT_MAX -1)
INT_MIN这样写的原因是:
虽然-2147483648 这个数值能够用int类
型来表示,但在C语言中却没法写出对应这个数值的int类
型常量。
因为按照c语言的类型推导,-2147483648被写成常量形式的时候,对于c90,其会转成unsigned类型来表示为2147483648,对于c99,其会被表示为long long类型,值为-2147483648
详情参考:http://www.cnblogs.com/Jack47/archive/2013/01/06/TMin32-in-c.html