一个简单的函数的指针
程序代码:/******************************************************
由用户指定x的值,分别求x^2-2和x^3-2x+5的值
******************************************************/
#include"stdio.h"
#include"math.h"
double f1(double x)
{
return (x*x-2);
}
double f2(double x)
{
return (x*x*x-2*x+5);
}
void main()
{
int i;
double x;
double (*fp)(double); //定义一个指向函数的指针
puts("function1------x*x-2");
puts("function2------x*x*x-2*x+5");
printf("\n请选择函数1或者函数2:");
scanf("%d",&i);
if(i==1)
fp=f1;
else
fp=f2;
printf("\n请输入一个double型的x值:");
scanf("%f",&x);
printf(" 所得的结果是:%f",(*fp)(x));
}结果算不正确,为什么啊?看了一个多小时了,找不出来,谢谢帮我看看









