c++计算球的体积

#include <iostream>#define Pi 3.14using namespace std;int main(){ double r;double v;cin>>r;if(r>100||r<0)return -1;v=4/3*Pi*r*r*r;printf("%lf.2",v);return 0;}为什么我这个程序输出结果不对,把v的赋值那里改成4.0/3就对了?
2026年09月22日 18:52
有3个网友回答
网友(1):

C++中默认浮点类型是double型,4.0是double类型,而4是int类型,在算式中4/3是一个计算过程,因为上下都是整型,结果也是整型等于1,再往后计算就发生了偏差,所以必须使用4.0/3得到浮点型结果,后面才正确。

网友(2):

4/3是整型除以整型,结果为整型的1。

网友(3):