函数指针的声明方式和数组指针类似,多了返回值和参数类型。比如:int (*p) (int,int);。
函数名其实就是函数指针,所以还可以作为函数参数传递。
我的代码演示:
#include <stdio.h>
typedef int (*fp)(int,int);
int compare(int,int);
int fun(int n1,int n2,fp funp);
int main()
{
int n1,n2;
printf("输入两个数:");
scanf("%d%d",&n1,&n2);
fun(n1,n2,compare);
return 0;
}
int compare(int a,int b)
{
int max;
printf("%d和%d两者较大的是\n",a,b);
if(a>b) max=a;
else max=b;
printf("%d\n",max);
return max;
}
int fun(int n1,int n2,fp funp)
{
return funp(n1,n2);
}
喵喵喵?不采纳嘛?
还有什么问题尽管追问