函数指针在声明时应与被指向的函数类型相同。
函数指针作参数传递给另外的一个函数时,应该建函数指针放在函数参数列表的最后一个,其余参数放在函数指针参数之前,在使用时需要将具体的参数写在函数指针的参数列表中进行使用。
#include <stdio.h>
int sum1(int a,int b){
return a+b;
}
int sum2(int a,int b){
return 2*a+2*b;
}
//函数指针作为参数传递时,应将函数指针作为参数,写在其它参数的后面(参数列表的末尾)
void show(int a,int b,int (*sum)(int ,int )){
printf("res:%d\r\n",sum(a,b));
}
int main(void){
int a,b;
int (*sum)(int ,int);
scanf("%d %d",&a,&b);
sum = sum1;
show(a,b,sum);
return 0;
}
运行结果: