一、函数指针与指针函数的区别
1.函数指针:是一个指针,指向函数: int (*f)(int x,int y)
2.指针函数:是一个函数,返回指针:int* f(int x,iny y)
二、指针函数的运用
#include<stdio.h>
double odd(int n){
double sum=0;
for(int i=1;i<=n;i+=2){
sum=sum+1/(double)i;
}
return sum;
}
double even(int n){
double sum=0;
for(int i=2;i<=n;i+=2){
sum=sum+1/(double)i;
}
return sum;
}
double (*select) (int n);//定义一个函数指针
int main(){
while(1){
printf("input n:");
int n;
double sum;
scanf("%d",&n);
if(n%2==0){
select=&even; //将该函数指针指向 目标函数
sum=(*select)(n); //用指针的方式调用
printf("sum=%.2lf",sum);
}
else{
select=&odd;
sum=(*select)(n);
printf("sum=%.2lf",sum);
}
}
return 0;
}