指向函数的指针变量做函数的参数

 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 }

运行结果:

 

posted @ 2020-03-13 15:09  kakusan  阅读(694)  评论(0编辑  收藏  举报