C语言 函数指针
#include <stdio.h>
int add(int a,int b);
int sub(int a,int b);
int fun(int (*ps)(int,int),int a,int b);
int main()
{
int (*ps)(int,int);
int x,y,z;
scanf("%d %d",&x,&y);
if(x<y)
ps=add;
else
{
ps=sub;
}
z=fun(ps,x,y);
printf("x=%d,y=%d,z=%d\\n",x,y,z);
}
int add(int a,int b)
{
return (a+b);
}
int sub(int a,int b)
{
return (a-b);
}
int fun(int (*pf)(int,int),int a,int b)
{
return ((*pf)(a,b));
}