#include <stdio.h>
int max(int x,int y)
{
return x > y ? x : y;
}
int main()
{
int (*p)(int,int) = &max;//&可以省略
int a,b,c,d;
scanf("%d %d %d",&a,&b,&c);
d = p(p(a,b),c);
printf("max = %d\n",d);
return 0;
}
函数功能求三个数的最大值,利用函数指针实现。
#include <stdio.h>
int max(int x,int y)
{
return x > y ? x : y;
}
int main()
{
int (*p)(int,int) = &max;//&可以省略
int a,b,c,d;
scanf("%d %d %d",&a,&b,&c);
d = (*p)((*p)(a,b),c);
printf("max = %d\n",d);
return 0;
}
运行结果一样,表示d = (*p)((*p)(a,b),c);等价于d = p(p(a,b),c);