0$房天下问答|用函数名f做实参,f本身的参数如何传递?$https://m.fang.com/ask/ask_1796850.html$https://static.soufunimg.com/common_m/m_public/201511/images/asksharedefault.png
packc/pages/ask/detail/detail?askid=1796850
-
用函数名f做实参,f本身的参数如何传递?
hi大家好,高手帮我看看这段程序:#include <stdio.h>fan(int x){return 2*x;}ying(int (*f)(int),int x){return (*f)()+x; /*~~~~~~~~~~~~~*/}main(){int a,(*p)(int); p=fan; a=5;b=2; printf("%d", ying((*p)(b),a)); /*~~~~~~~~~~~~~~~~*/}算上main函数,总共有3个函数,现在在主函数中调用ying函数,而ying函数的形参又包含函数f,现在把p(即fan函数)作为实参传给f,此时p(即fan)的实参是b。不知您能不能看明白我的意思?其实不用定义p也可以,纯粹为了熟悉概念。加注释的两行,正确写法是什么呢?高手快来,谢谢啊!
更多
提问者:wz527463
发布于2011-01-18
共1个回答
-
-
-
yyd81
丨Lv 0
#include <stdio.h> int fan(int x) {return 2*x; } int ying(int (*f)(int),int fAgr,int x) {return (*f)(fAgr)+x; /*~~~~~~~~~~~~~*/ } main() {int a,b,(*p)(int); p=fan; a=5;b=2; printf("%d", ying(p,b,a)); /*~~~~~~~~~~~~~~~~*/ }
免责声明:问答内容均来源于互联网用户,房天下对其内容不负责任,如有版权或其他问题可以联系房天下进行删除。

关注成功