关于c语言的函数指针

来源:百度知道 编辑:UC知道 时间:2024/05/15 17:03:16
#include <stdio.h>
main()
{
float s(float,float);
float (*p)();
float a,h,aera;
scanf("%f%f",&a,&h);
p=s;
aera=(*p)(a,h);
printf("s=%f\n",aera);
return 0;}
float s(float a,float h)
{float ss;
ss=.5*a*h;
return ss;
}
到底错在哪了啊。。。。

第五行:float (*p)();后面括号默认为void ,导致浮点型s和下面的p指针类型不符.改为(float,float)即可.
倒数第三行,"5"前面你多打了个点,去掉就可以了.
调试之后程序正确.你试试看,还有,函数声明最好放在主函数前.

第五行:float (*p)();后面括号改为(float,float)即可.