一个简单的函数的指针
程序代码:
/****************************************************** 由用户指定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)); }结果算不正确,为什么啊?看了一个多小时了,找不出来,谢谢帮我看看