|
发表于 2018-1-29 15:52:47
|
显示全部楼层
#include <stdio.h>
int Max(int,int);
int Min(int,int);
int Add(int,int);
int Process(int *fun(int,int),int a,int b);
int Process(int *fun(int,int),int a,int b)
{
if(fun==Max)
{
return Max(a,b);
}
else if(fun==Min)
{
return Min(a,b);
}
else
{
return Add(a,b);
}
}
int Max(int x,int y)
{
int max;
max=x;
if(max<y)
{
max=y;
}
return max;
}
int Min(int x,int y)
{
int min;
min=x;
if(min>y)
{
min=y;
}
return min;
}
int Add(int x,int y)
{
int sum;
sum=x+y;
return sum;
}
void main()
{
int a,b;
printf("Please input a and b:\n");
scanf("%d%d",&a,&b);
printf("Max=%d\n",Process(Max,a,b));
printf("Min=%d\n",Process(Min,a,b));
printf("Sum=%d\n",Process(Add,a,b));
return;
}
这是用函数指针做参数,如果要用指针函数做参数,就得先声明指针函数,定义指针函数,不赞同这样的做法的,我也是新人
多想一想,试一试 |
|