C++ 算术问题(double=int/int)
在上例中,单步执行时,C++ 算术问题(double=int/int),c++,C++,在上例中,单步执行时,passRate的值显示为0.00。如何使其正确显示为0.33?您需要将右侧的一个或两个变量设置为double int passed(1); int STUDENTNO(3); double passRate = (passed / STUDENTNO); 否则,如前所述,操作将以int的形式执行,然后结果将隐式转换为double,然后将赋值返回到passRate。到那时已经太晚了,整数除法已经发生了 或者,如果你的变量是double,那么除法就可以很好地工作 doub
passRate
的值显示为0.00
。如何使其正确显示为0.33?
您需要将右侧的一个或两个变量设置为double
int passed(1);
int STUDENTNO(3);
double passRate = (passed / STUDENTNO);
否则,如前所述,操作将以int
的形式执行,然后结果将隐式转换为double
,然后将赋值返回到passRate
。到那时已经太晚了,整数除法已经发生了
或者,如果你的变量是double
,那么除法就可以很好地工作
double passRate = double(passed) / double(STUDENTNO);
double passed = 1.0;
double STUDENTNO = 3.0;
double passRate = passed / STUDENTNO;