在整数后添加.0对除法有什么影响吗?

时间:2017-10-15 18:24:01

标签: c++

我接受了一项编程测试,我的老师以3分而不是3.0分获得积分,尽管看起来我得到了同样的答案。

volu = PI*(BASE*BASE)*(HEIGHT/3);

.0甚至在c ++程序中是否重要,如果是这样,为什么? 谢谢!

编辑:我在PI和BASE中使用了双打

2 个答案:

答案 0 :(得分:2)

(为了我的价值,我找到了让你变得相当谨慎的方式。)

如果HEIGHT是一个整数类型,那么你写的是3.0而不是3 绝对必要。 (3.0double类型的文字,参见3int。)

否则,除法将在整数算术中进行,导致结果消失。

我个人会删除所有多余的括号并将其写为

PI * BASE * BASE * HEIGHT / 3;

答案 1 :(得分:0)

是的,两个整数将使用欧几里德分区进行划分。添加.0会将其更改为正常除法,因为您不再将两个整数除以整数和双精度。