我接受了一项编程测试,我的老师以3分而不是3.0分获得积分,尽管看起来我得到了同样的答案。
volu = PI*(BASE*BASE)*(HEIGHT/3);
.0甚至在c ++程序中是否重要,如果是这样,为什么? 谢谢!
编辑:我在PI和BASE中使用了双打
答案 0 :(得分:2)
(为了我的价值,我找到了让你变得相当谨慎的方式。)
如果HEIGHT
是一个整数类型,那么你写的是3.0
而不是3
绝对必要。 (3.0
是double
类型的文字,参见3
,int
。)
否则,除法将在整数算术中进行,导致结果消失。
我个人会删除所有多余的括号并将其写为
PI * BASE * BASE * HEIGHT / 3;
答案 1 :(得分:0)
是的,两个整数将使用欧几里德分区进行划分。添加.0会将其更改为正常除法,因为您不再将两个整数除以整数和双精度。