« Тип называемый тип объекта «int» не является указателем функции или функции »ошибка возникает в строке 26 . что моя формула я не могу определить происхождение ошибки, пожалуйста, помогитеОшибка в строке 26 «Вызываемый тип объекта« int »не является указателем функции или функции? Почему это происходит?
11 #include <stdio.h>
12 #include <stdlib.h>
13 #include <math.h>
14
15 int main()
16 double p1, ac, at, p2, p3, ar, p;
17 int code;
18 p=(p1+p2+p3)/2;
19 setvbuf(stdout, NULL, _IONBF, 0);
20
21 while(1){
22 printf("Enter code and parameter(s) (Code=0 to Quit):");
23 scanf("%d%lf%lf%lf", &code, &p1, &p2, &p3);
24 if(code==0) break;
25 if(code==1){
26 ac=2*M_PI*(p1*p1);
27 printf("area of circle: %f", ac);
28 }
29 else if(code==2){
30 at=sqrt(p*(p-p1)*(p-p2)*(p-p3));
31 printf("area of triangle: %f", at);
32 }
33 else if(code==3){
34 ar=p1*p2;
35 printf("area of rectangle: %f", ar);
36 }
37 return EXIT_SUCCESS;
38 }
39 }
Кстати, почему бы не использовать 'switch (code)' вместо каскадного 'if'? – DyZ
Собственная библиотека C делает не задайте 'M_PI' в' '. Для debug попробуйте 'ac = 2 * 3.14 * (p1 * p1);' –
chux
@chux совершенно правильно, но XSI-совместимый math.h * будет * определять 'M_PI', если у вас есть # #define _XOPEN_SOURCE 700' до любой заголовок системы. Наверное, этой программы нет. – rici