指向函数的指针变量做函数的参数
1 //指向函数的指针变量做函数参数 2 # include<stdio.h> 3 int (*p)(int,int); 4 int a=5,b=6,c,d; 5 int main() 6 { 7 void fun(int,int,int(*p)(int,int)); 8 int max(int,int); 9 int min(int,int); 10 int add(int,int); 11 printf("请输入a,b,d\n"); 12 scanf("%d%d%d",&a,&b,&d); 13 14 if(d==1) fun(a,b,max); 15 else if(d==2) fun(a,b,min); 16 else fun(a,b,add); 17 return 0; 18 } 19 20 int max(int a,int b) 21 { 22 if(a>b) return a; 23 else return b; 24 } 25 int min(int a,int b) 26 { 27 if(a<b) return a; 28 else return b; 29 } 30 int add(int a,int b) 31 { 32 return a+b; 33 } 34 35 void fun(int a,int b,int(*p)(int,int)) 36 { 37 printf("%d",p(a,b)); 38 }
运行结果: