c语言函数参数可以是另一个函数吗

2025-04-04 23:01:03
推荐回答(3个)
回答(1):

可以
例如调用比较两数大小的函数int max(int a,int b){},
调用时就可以写出int d=max(c,max(a,b));但前提是调用的函数有返回值。

回答(2):

max(1, sub(2)) 你这种方式,sub(2)是个数,并不是函数。C的函数参数里面不可以有函数,只能有函数指针。

回答(3):

把函数名作为参数就是函数的地址了.
如下面的例子
#include
typedef int (*PFUN)(int a, int b);//函数指针
int add(int a, int b)
{
return (a+b);
}
void fun(int a, int b, PFUN pfun) //函数指针作为函数的参数
{
printf(“%d\n", pfun(a,b));
}
int main()
{
int a=5;
int b=6;
PFUN pfun=add; //将函数指针指向add
fun(a, b, pfun);
return 0;
}