所以我是C新手并正在做这个项目并在尝试编译时遇到此错误,
ERROR:
sphere.c:25:22: error: called object type 'double' is not a function or function pointer
CODE:
#include <stdio.h>
#include <math.h>
#include <stdlib.h>
int main(void){
double radius, surfArea, volume;
printf("Enter the radius of a sphere: /n");
scanf("%lf", & radius);
if(radius <= 0){
printf("Invalid entry");
exit(1);
}
surfArea = M_PI*4.00*(pow(radius, 2));
volume = (4/3)*M_PI(pow(radius, 3)); //line 25
printf("Entererd radius is: %f", & radius);
printf("The surface area is: %f", & surfArea);
printf("The volume is: %f", & volume);
return (0);
}
编辑:谢谢大家,我让它运作了!
答案 0 :(得分:3)
volume = (4/3)*M_PI(pow(radius, 3));
^
这里有一个缺少的运算符(可能是*
)。
请注意4/3
是整数除法,如果要进行浮点除法,则需要其中一个操作数为浮点类型,例如4 / 3.0
。
编辑:我注意到您的代码中还有很多其他错误,我让您修复它们。