【发布时间】:2020-10-14 14:09:55
【问题描述】:
我正在尝试执行一个简单的长乘法,但它没有显示正确的输出。 这是示例代码
'''
#include<iostream>
using namespace std;
int main ()
{
long long int c=100000*90000;
cout<<c;
return 0;
}
'''
变量c的cout是:410065408
我不知道为什么它显示的是垃圾值而不是 9000000000。
【问题讨论】:
-
这段代码是将两个int相乘,得到一个int,然后再转成long long
-
即我不认为你尝试过
100000LL*90000LL或类似的? -
启用警告以捕获此问题。即使没有警告,现代编译器也会warn。
标签: c++