| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 548 人关注过本帖
标题:请帮我看看有关函数指针这几句不明白
只看楼主 加入收藏
lindayanglong
Rank: 1
等 级:新手上路
帖 子:86
专家分:0
注 册:2008-3-9
收藏
 问题点数:0 回复次数:5 
请帮我看看有关函数指针这几句不明白
请帮我看看有关函数指针这几句不明白: int max(int,int);是什么作用
int (*p)(int,int)=&max;
和d=(*p)((*p)(a,b),c);怎么理解,总之函数的执行过程是怎样的?
请指教

#include<iostream>
using namespace std;
int  max(int x,int y)
{
    return x>y?x:y;

};
void main()
{
 
    int max(int,int);
    int (*p)(int,int)=&max;
    int a,b,c,d;
    cout<<"input three integer:"<<endl;
    cin>>a>>b>>c;
    d=(*p)((*p)(a,b),c);
    cout<<d;
}
搜索更多相关主题的帖子: 指针 函数 
2008-08-29 17:12
p1s
Rank: 4
等 级:贵宾
威 望:10
帖 子:454
专家分:3
注 册:2005-11-4
收藏
得分:0 
int max(int,int);这个函数的作用是返回较大的一个数
但是函数声明放在main体内不太好吧,既然在main之前已经定义了,这个去掉也罢。
另外int (*p)(int,int)=&max;这是定义了一个函数指针
d=(*p)((*p)(a,b),c);相当于d=max(max(a,b),c);
看看对不对?
2008-08-29 17:25
dcuzhang
Rank: 1
等 级:新手上路
帖 子:20
专家分:0
注 册:2008-3-13
收藏
得分:0 
int max(int,int); --函数的声明,在你的程序里没有用删了也可, 因为你的 max(), 在使用前定义了。 如果你把max(), 放到main()后边就必须要这句。

int (*p)(int, int)是一个函数指针, 指向一个返回值是int
有两个int 形参的 函数 , 在这是max().

所以 (*p)((*p)(a,b),c);
== max(max(a,b),c);
2008-08-29 17:33
lindayanglong
Rank: 1
等 级:新手上路
帖 子:86
专家分:0
注 册:2008-3-9
收藏
得分:0 
明白了 谢谢
2008-08-30 15:27
zhuerhua
Rank: 1
等 级:新手上路
帖 子:7
专家分:0
注 册:2008-6-29
收藏
得分:0 
两位都对吧
2008-09-01 11:21
a86032622
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2008-9-3
收藏
得分:0 
新手学习来的
2008-09-03 20:45
快速回复:请帮我看看有关函数指针这几句不明白
数据加载中...
 
   



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

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