//对回调函数的理解
#include<stdio.h>
void nume(){
printf("***********************\n");
printf("**** 1.Add 2.Sub ****\n");
printf("**** 3.Mul 4.Div ****\n");
printf("*****5.Eor 0.exit ****\n");
printf("***********************\n");
}
int Add(int x, int y){
return x + y;
}
int Sub(int x, int y){
return x - y;
}
int Mul(int x, int y){
return x * y;
}
int Div(int x, int y){
return x / y;
}
int Eor(int x, int y){
return x ^ y;
}
void temp(int (*p)(int ,int) ){
int x = 0;
int y = 0;
printf("请输入两个数\n");
scanf("%d%d",&x,&y);
printf("%d \n", p(x,y) );
}
int main(){
int input = 0;
do{
nume();
printf("请输入你的选项:\n");
scanf("%d",&input);
switch(input){
case 1:
temp(Add);
break;
case 2:
temp(Sub);
break;
case 3:
temp(Mul);
break;
case 4:
temp(Div);
break;
case 5:
temp(Eor);
break;
case 0:
printf("退出\n");
break;
default :
printf("输入有误,请重新输入\n");
break;
}
}while(input);
return 0;
}