莫名其妙的错误

 对数字的运算应该是自动保存为他本身的类型了,具体看代码。

#include<stdio.h>
#include<iostream>
using namespace std;

int main()
{
    int n=30000;
    if(n*(n-1)*(n-3)<0)
        cout<<"***"<<n<<endl;
    cout<<n*(n-1)*(n-3);
    return 0;
}
/*
输出结果为
***30000
-1764332656
*/
#include<stdio.h>
#include<iostream>
using namespace std;

int main()
{
    long long n=30000;
    if(n*(n-1)*(n-3)<0)
        cout<<"***"<<n<<endl;
    cout<<n*(n-1)*(n-3);
    return 0;
}
/*
输出结果为
26996400090000
*/

猜你喜欢

转载自blog.csdn.net/flyzer/article/details/83552062