用指向函数的指针作函数参数,书上例题
#include<stdio.h>
main()
{
int max(int,int);
int min(int,int);
int add(int,int);
void fun(int x,int y,int (*p)(int,int));
int a=34,b=21,n;
printf("输入1or2or3\n");
scanf("%d",&n);
if(n==1) fun(a,b,max);
else if(n==2) fun(a,b,min);
else if(n==3) fun(a,b,add);
}
int max(int x,int y)
{
int z;
z=x>y?x:y;
printf("max=");
return z;
}
int min(int x,int y)
{
int z;
z=x<y?x:y;
printf("min=");
return z;
}
int add(int x,int y)
{
int z;
z=x+y;
printf("sum=");
return z;
}
void fun(int x,int y,int (*p)(int,int))
{
int result;
result=(*p)(x,y);
printf("%d\n",result);
}
温馨提示:内容为网友见解,仅供参考