c语言向函数传递函数作为参数

举个例子说吧,用话说不太明白,比如inta(){intvalue=1;returnvalue;}intb(inttarget){returntarget;}可不可以,或者... 举个例子说吧,用话说不太明白,比如
int a(){
int value = 1;
return value;
}
int b(int target){
return target;
}
可不可以,或者有什么把法可以直接将函数int a()传递到函数b中呢?
展开
 我来答
Time_travel_w
2019-07-03
知道答主
回答量:8
采纳率:0%
帮助的人:5091
展开全部
#include <stdio.h>
//---子函数声明---// 
int func1();
int func2(int (*func1)());        //形参为函数指针(即指向函数的指针) 
//---主函数---// 
int main(){
    printf("向函数二传递函数一,\n即函数一作为函数二的参数。\n");
    printf("%d ",func1());
    printf("%d\n",func2(func1));//注意函数名即为函数地址!!!!!! 
}                                //实参为函数名func1或者&func1,两者等价,而非func1() 
//---子函数定义---// 
int func1(){
    return 1;
}

int func2(int (*func1)()){        //形参为函数指针(即指向函数的指针)
    return func1()+1;
}
百度网友1cf58ab
推荐于2017-09-04 · TA获得超过343个赞
知道小有建树答主
回答量:276
采纳率:50%
帮助的人:368万
展开全部
使用函数指针。如下:
#include<stdio.h>

int a()
{
int value = 1;
return value;
}
int b(int (*a)())
{
return a();
}

void main()
{
b(a);
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
徐庆超33
推荐于2017-10-08 · 超过52用户采纳过TA的回答
知道小有建树答主
回答量:207
采纳率:0%
帮助的人:141万
展开全部
int a(){
int value = 1;
return value;
}
int b(int (*f)()){
return target;
}
void main()
{
b(a); //将函数a传递到b中
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
仁慈又漂亮丶抹香鲸5
2012-08-18
知道答主
回答量:51
采纳率:0%
帮助的人:23.8万
展开全部
将b函数中的return target直接改成return a()就可以获得a函数中的value值了,有什么问题还可以问我!我会尽力帮你~
追问
我问的不是这个意思哦,我想问的是如何将a()函数作为一个参数传递给b()函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友9e6d11eef
2012-08-18 · TA获得超过1173个赞
知道小有建树答主
回答量:723
采纳率:0%
帮助的人:302万
展开全部
复制一下楼上的 稍稍改动

#include<stdio.h>

int a()
{
int value = 1;
return value;
}
int b(int target)
{
return target;
}

void main()
{
b(a());
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式