#include <stdio.h>
void initAandB(int *pa,int *pb)
{
printf("请输入a和b的值\n");
scanf("%d %d",&*pa,&*pb);
printf("done\n");
}
int getMax(int data1,int data2)
{
return data1>data2 ? data1:data2; //谁大则返回谁的值
}
int getMin(int data1,int data2)
{
return data1<data2 ? data1:data2; //谁小则返回谁的值
}
int getSum(int data1,int data2)
{
return data1 + data2;
}
int dataHandler(int data1,int data2,int (*pfunc)(int data1,int data2))
{
int ret;
ret = (*pfunc)(data1,data2);
return ret;
}
int main()
{
int a ;
int b ;
int cmd;
int ret;
int (*pfunc)(int data1,int data2);
initAandB(&a,&b);
printf("请输入1(最大值),2(最小值)或者3(求和)");
scanf("%d",&cmd);
switch(cmd){
case 1:
pfunc = getMax;
break;
case 2:
pfunc = getMin;
break;
case 3:
pfunc = getSum;
break;
default:
printf("输入错误!");
break;
}
ret = dataHandler(a,b,pfunc);
printf("ret = %d\n",ret);
return 0;
}