为了账号安全,请及时绑定邮箱和手机立即绑定

你好,请问在c语言中用函数做参数怎么用?怎么实现?

你好,请问在c语言中用函数做参数怎么用?怎么实现?

PHP C
狐的传说 2022-04-13 17:11:16
就是在函数里,声明函数时,最后不是有参数吗?一般格式是.类型标识符 函数名(参数)..我知道拿函数做参数的原理,也知道应该怎么用..可是,如果拿函数做参数具体应该怎么用??
查看完整描述

3 回答

?
MM们

TA贡献1886条经验 获得超2个赞

不可以直接拿函数做参数的。
只能这样
命名函数一(),return一个值或表达式
然后
函数二(参数)
函数二,参数可以等于函数一的return的值或表达式。

查看完整回答
反对 回复 2022-04-19
?
MMMHUHU

TA贡献1834条经验 获得超8个赞

#include <stdio.h>

void print_result(char *funcname, int (*pfunc)(int), int x)
{
printf("%s(%d)=%d\n", funcname, x, pfunc(x));
}

int inc(int x)
{
return x+1;
}

int main()
{
print_result("inc", inc, 5);
return 0;
}

运行结果:
inc(5)=6



查看完整回答
反对 回复 2022-04-19
?
收到一只叮咚

TA贡献1821条经验 获得超4个赞

在上面的这个程序中,其实函数int inc(int)就相当于int(*inc)(int),因为ANSI规定函数本身就是一个指针,而上面的inc其实本身就是一个指针,这个指针指向一个返回整数的函数,于是在函数void print_result(char *funcname,int(*pfunc)(int),int x)中,int(*pfunc)(int)其实本身就是一个指针,这样就不难理解,在main()函数中调用print_result函数时传递的是inc了,因为inc也是一个指向函数的指针。

查看完整回答
反对 回复 2022-04-19
  • 3 回答
  • 0 关注
  • 124 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号