做热区的网站seo关键词查询工具
在一些c语言的大工程中,会在定义的函数中,把一些其他函数指针作为本函数形参。
函数指针作形参的例子
代码如下:
#include<stdio.h>
int max(int a,int b)
{
return(a>b?a:b);
}
int min(int a,int b)
{
return(a<b?a:b);
}
int ff(int a,int b,int(*p)(int,int))
{
int r;
r=(*p)(a,b);
return r;
}
int main()
{
int a,b,c,r;
int(*p)(int,int);
puts("请输入a的值:");
scanf("%d",&a);
puts("请输入b的值:");
scanf("%d",&b);
printf("请选择1号方案还是2号方案:");
scanf("%d",&c);
if(c==1) p=max;
if(c==2) p=min;
r=ff(a,b,(*p));
printf("%d\n",r);
return 0;
}
在上面代码中,分别定义了三个函数,分别是max函数,min函数,ff函数
其中ff函数形参中有一个函数指针。
在main函数执行的代码块中,分别定义了a,b,c,r四个变量。
a和b,还有c的值需要外部输入。同时定义了一个函数指针p
在if条件分支语句中,如果c的值为1,指针p会引向函数max,如果c的值为2,指针p会引向函数min。
最后是执行ff函数。如果c的值为1,ff函数会引用max函数,输出最大值。如果c的值为2,ff函数会引用min函数,输出最小值。