【发布时间】:2015-07-23 03:48:09
【问题描述】:
我第一次在这里发帖,但我必须知道这种简单的代码和平有什么问题:
#include <iostream>
using namespace std;
int main()
{
double test = (1 / 2) * 2;
cout << test << endl;
return 0;
}
当我运行此代码时,它显示为 0,我是否应该强制转换某些内容,无论我使用什么编译器都会发生这种情况,如果将“1”除以某种形式的十进制,它会返回更奇怪的结果。
【问题讨论】:
-
因为 1 和 2 是
ints。默认情况下,所有数字都是ints。 -
在 OP 的辩护中,这真的很难搜索。
标签: c++