错误:被叫对象类型'double'不是函数或函数指针

时间:2014-09-11 20:19:11

标签: c

所以我是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);
}

编辑:谢谢大家,我让它运作了!

1 个答案:

答案 0 :(得分:3)

volume = (4/3)*M_PI(pow(radius, 3)); 
                   ^

这里有一个缺少的运算符(可能是*)。

请注意4/3是整数除法,如果要进行浮点除法,则需要其中一个操作数为浮点类型,例如4 / 3.0

编辑:我注意到您的代码中还有很多其他错误,我让您修复它们。