| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 407 人关注过本帖
标题:请问这个函数怎么调用的呢
取消只看楼主 加入收藏
longxingxiu
Rank: 2
等 级:论坛游民
帖 子:73
专家分:64
注 册:2014-4-23
结帖率:91.67%
收藏
已结贴  问题点数:2 回复次数:2 
请问这个函数怎么调用的呢
add是add函数的首地址的话,那么add就是process函数实参,而process函数的形参为一个函数指针f,所以有函数调用过程,也就是将add函数的入口地址送给函数指针f,由f指向这个add函数,晕了,不会用怎么办
程序代码:
#include <stdio.h>
double process(double(*f)(double,double))
{
    int i;
    double result=1;
    for(i=2;i<=10;i++)
        result=f(result,i);
    return result;
}
double add(double x,double y)
{
    return x+y;
}
void main(int argc,char*argv[])
{  
    printf("%.0f\n",process(add));
}
搜索更多相关主题的帖子: process result 
2014-04-24 22:24
longxingxiu
Rank: 2
等 级:论坛游民
帖 子:73
专家分:64
注 册:2014-4-23
收藏
得分:0 
回复 2 楼 rjsp
这是我在书上看到的代码了。就是不太懂函数指针的用法
2014-04-26 15:18
longxingxiu
Rank: 2
等 级:论坛游民
帖 子:73
专家分:64
注 册:2014-4-23
收藏
得分:0 
回复 3 楼 神机军师
貌似明白了一点,就是函数调用的过程,不明白为什么要整出一个函数指针出来干什么
2014-04-26 15:19
快速回复:请问这个函数怎么调用的呢
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.036063 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved