c - 4/3和4/3.0的区别是什么?



我需要编写一个程序来计算球体的体积,公式为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"使答案有小数

相关内容

  • 没有找到相关文章

最新更新