c语言函数参数可以是另一个函数吗
比如函数原型为intmax(inta,intb);现有一个返回值为int的函数intsub(inta)max(1,sub(2))这种调用形式出错吗即函数参数可以是另一个函...
比如 函数原型为int max(int a, int b);
现有一个返回值为int 的函数 int sub(int a)
max(1,sub(2)) 这种调用形式出错吗 即函数参数可以是另一个函数吗?
若c语言中不可以 那c++里面这样被允许吗 展开
现有一个返回值为int 的函数 int sub(int a)
max(1,sub(2)) 这种调用形式出错吗 即函数参数可以是另一个函数吗?
若c语言中不可以 那c++里面这样被允许吗 展开
3个回答
展开全部
max(1, sub(2)) 你这种方式,sub(2)是个数,并不是函数。C的函数参数里面不可以有函数,只能有函数指针。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
把函数名作为参数就是函数的地址了.
如下面的例子
#include <stdio.h>
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;
}
如下面的例子
#include <stdio.h>
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;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询