任务描述
本关任务:用指向函数的指针变量作函数的参数求两个整数中的最大值、两个整数中的最小值、两个整数的和。
#include <stdio.h>
int max(int,int); //max函数声明
int min(int,int); //min函数声明
int add(int,int); //add函数声明
int fun(int x,int y, int (*p)(int,int)); //fun函数声明
int main()
{
int a,b,c;
//printf("please enter a , b:");
scanf("%d%d",&a,&b); //输入a和b的值
c = fun(a,b,max); //求 a和b的最大值
printf("max=%d\n",c);
c = fun(a,b,min); //求 a和b的最小值
printf("min=%d\n",c);
c = fun(a,b,add); //求 a和b的和
printf("sum=%d\n",c);
return 0;
}
/********** Begin **********/
int max(int a,int b){
return a>b?a:b;
}
int min(int a,int b){
return a<b?a:b;
}
int add(int a,int b){
return a+b;
}
int fun(int a,int b, int (*p)(int,int)){
return p(a,b);
}
/********** End **********/