爱问知识人 爱问教育 医院库

用函数名f做实参,f本身的参数如何传递?

首页

用函数名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也可以,纯粹为了熟悉概念。
加注释的两行,正确写法是什么呢?高手快来,谢谢啊!

提交回答
好评回答
  • 2009-09-14 10:46:14
    #include  
    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)); /*~~~~~~~~~~~~~~~~*/ 
    } 

    小***

    2009-09-14 10:46:14

  • C/C++ 相关知识

  • 电脑网络技术
  • 电脑网络

相关推荐

正在加载...
最新问答 推荐信息 热门专题 热点推荐
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200
  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 181-200

热点检索

  • 1-20
  • 21-40
  • 41-60
  • 61-80
  • 81-100
  • 101-120
  • 121-140
  • 141-160
  • 161-180
  • 174-193
返回
顶部
帮助 意见
反馈

确定举报此问题

举报原因(必选):