我需要编写一个程序来计算球体的体积,公式为V=(4/3)*pi*r^3
volume_sphere = (4/3)*pi*r*r*r;
和
volume_sphere = (4/3.0)*pi*r*r*r;
?
当我输入3作为r的值时,前者给了我一个错误的答案(84.823196)。然而,当我使用后一个(带有&;0&;)时,它给了我正确的答案(113.0976)。
我很困惑" 0"的区别。谢谢你的回答!
在这个表达式
4/3
二进制运算符/
的两个操作数的类型都是int
。因此,使用整数运算,表达式的结果为1
。
在这个表达式中
4/3.0
第二个操作数是double
类型的常量。因此,由于通常的算术转换,第一个操作数也被转换为double类型。运算的结果是一个浮点数。也就是说,不会将结果的小数部分截断为整数值。
4/3 = 1,而4/3.0 = 1.333333…
一个整数除以另一个整数得到一个整数,但是"。0"使答案有小数