首先,希望知道这个问题的人能够帮我解答下。
来看代码:
int main()
{
long long int result=-321;
cout<<result<<endl;
if(INT_MIN==-2147483648)
cout<<"相等"<<endl;
if( result<-2147483648)
cout<<"1"<<endl;
if( result<INT_MIN)
cout<<"2"<<endl;
system("pause");
}
代码很简单,就是一个比较,那么来看一下结果吧。
输出了1,对你没有看错,说明(result<-2147483648)为true。再来看INT_MIN的定义#define INT_MIN (-2147483647 - 1)
没有错就是-2147483648。来看看程序运行中是怎么样子的,
看到这里可以肯定(result<-2147483648)为真值,这到底怎么回事?
问题已经解决,请看:http://blog.csdn.net/efergrehbtrj/article/details/46623579