| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 798 人关注过本帖
标题:大家来看运行结果为多少
只看楼主 加入收藏
心动音符
Rank: 1
等 级:禁止访问
威 望:1
帖 子:832
专家分:0
注 册:2005-9-15
收藏
 问题点数:0 回复次数:11 
大家来看运行结果为多少
int fun(int n)
{
if(++n==5)
return n++;
return n*fun(n++);
}
void main()
{
int i=1;
int sum=fun(i);
cout<<sum<<endl;
}
搜索更多相关主题的帖子: 结果 运行 
2006-09-11 12:48
lovl
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-8-10
收藏
得分:0 
呵呵,真的不明白啊!
帮你顶一下先。
2006-09-13 18:39
jelly5081
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2006-9-13
收藏
得分:0 
是什么哟?
连接出错????
2006-09-13 21:02
yvtianzll
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2006-9-13
收藏
得分:0 
300,
考虑函数的调用栈。
2006-09-13 21:27
sbqtdwxf
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-8-8
收藏
得分:0 

看不明白,不过感觉写的不对


2006-09-13 22:15
majia775
Rank: 1
等 级:新手上路
威 望:2
帖 子:94
专家分:0
注 册:2006-9-11
收藏
得分:0 
300

我不是随便的人,我随便起来不是人.... http://majia775.
2006-09-13 23:04
lovl
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-8-10
收藏
得分:0 
以下是引用yvtianzll在2006-9-13 21:27:42的发言:
300,
考虑函数的调用栈。

考虑函数的调用栈
这是什么来的。。。
可不可以讲明白点n是怎么样变化的吗,

2006-09-14 00:19
yvtianzll
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2006-9-13
收藏
得分:0 
函数的调用序列是这样的
sum = fun(1);
fun(1) = n*fun(2++) ;此时 n = 2
fun(2) = n*fun(3++) ;此时 n = 3
fun(3) = n*fun(4++) ; ;此时 n = 4
fun(4) = 5
好了,然后返回,但是再返回的时候栈里面的每个n都再调用f(n++)的时候加1了,所以
sum = 5*5*4*3 = 300

只能表述的这么清楚了,自己画调用栈有可能更清楚一点
2006-09-14 09:22
★红狼
Rank: 2
等 级:论坛游民
帖 子:190
专家分:17
注 册:2006-7-12
收藏
得分:0 
以下是引用yvtianzll在2006-9-14 9:22:14的发言:
函数的调用序列是这样的
sum = fun(1);
fun(1) = n*fun(2++) ;此时 n = 2
fun(2) = n*fun(3++) ;此时 n = 3
fun(3) = n*fun(4++) ; ;此时 n = 4
fun(4) = 5
好了,然后返回,但是再返回的时候栈里面的每个n都再调用f(n++)的时候加1了,所以
sum = 5*5*4*3 = 300

只能表述的这么清楚了,自己画调用栈有可能更清楚一点

确实很清楚了,我对 递归 很不明白。

我想问下: fun (1) =n* fun(2++ ) 我这样想,哪个时候n应该还是1啊。怎么2++呢?
还有哪个时候fun(n++) 这个fun = 多少?

我先申明,我没有经过 培训,也从来没上过C的任何课程。大家不要见笑了。 我对其他的还可以。就是递归 很不明白。

2006-09-14 13:21
yvtianzll
Rank: 1
等 级:新手上路
帖 子:30
专家分:0
注 册:2006-9-13
收藏
得分:0 
这个是++n,n++的区别
因为前面有 if(++n==5),n已经加1了
2006-09-14 15:56
快速回复:大家来看运行结果为多少
数据加载中...
 
   



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

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