Possible Duplicate:
Division in C++ not working as expected
原来我的程序一直返回错误的结果,所以我决定将代码分成几部分。设置断点后,结果...
double test3 = ((2 - 1) / 2);
...根据C ++编译器等于0。我不知道为什么。有人可以向我解释吗?
我正在使用MS Visual Studio Premium 2012
最佳答案
因为您正在执行整数除法。 1/2
是0
,然后将其转换为double
,产生0.
。如果要进行浮点除法,请尝试使除法参数之一成为浮点数:
double test3 = (2.0-1)/2;
关于c++ - 为什么我在这里得到0而不是0.5? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13332351/