码迷,mamicode.com
首页 > 其他好文 > 详细

VS 中的一个BUG?求大神帮我解答下。

时间:2015-06-23 17:53:47      阅读:103      评论:0      收藏:0      [点我收藏+]

标签:vs2012   c-c++   

首先,希望知道这个问题的人能够帮我解答下。
来看代码:

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)为真值,这到底怎么回事?

VS 中的一个BUG?求大神帮我解答下。

标签:vs2012   c-c++   

原文地址:http://blog.csdn.net/efergrehbtrj/article/details/46607141

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!