| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 815 人关注过本帖
标题:请问递归函数是怎样看的?
只看楼主 加入收藏
h5n1234
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2006-9-16
收藏
 问题点数:0 回复次数:7 
请问递归函数是怎样看的?
long fact(int n)
{
if(n==1)
return 1;
return fact(n-1)*n; //出现函数自调用
}



请问是怎样自调用的???
我看不明白~!!!!
搜索更多相关主题的帖子: 递归 函数 
2006-09-28 13:17
zkkpkk
Rank: 2
等 级:论坛游民
威 望:5
帖 子:489
专家分:28
注 册:2006-6-17
收藏
得分:0 
一层层地返回,直到最后满足出口的条件,这里是if(n==1)

Viva,espana!
2006-09-28 16:43
majia775
Rank: 1
等 级:新手上路
威 望:2
帖 子:94
专家分:0
注 册:2006-9-11
收藏
得分:0 
[CODE]long fact(int n)
{
if(n==1) return 1;
return fact(n-1)*n; //出现函数自调用
}
/*
如果n传进来的时候等于5:
那么: 先执行if(n==1),不等于,就ruturn fact(n-1)*n;
此时n=4,在执行if(n==1),不等于,就return fact(n-1)*n;
此时n=3,在执行if(n==1),不等于,就return fact(n-1)*n;
此时n=2,在执行if(n==1),不等于,就return fact(n-1)*n;
此时n=1,在执行if(n==1),n已经是1了,就return 1;
*/

[/CODE]

我不是随便的人,我随便起来不是人.... http://majia775.
2006-09-28 18:32
jiang520
Rank: 1
等 级:新手上路
帖 子:207
专家分:0
注 册:2006-9-13
收藏
得分:0 

程序代码:

long fact(int n)
{
if(n==1) return 1;
return fact(n-1)*n; //出现函数自调用
}
/*
如果n传进来的时候等于5:
那么: 先执行if(n==1),不等于,就ruturn fact(n-1)*n;
此时n=4,在执行if(n==1),不等于,就return fact(n-1)*n;
此时n=3,在执行if(n==1),不等于,就return fact(n-1)*n;
此时n=2,在执行if(n==1),不等于,就return fact(n-1)*n;
此时n=1,在执行if(n==1),n已经是1了,就return 1;
*/

这种要靠多意会,光是这样是不行的,递归本来要去深深理解才行~!


努力,努力吧,未来的天空,那一片湛蓝总会属于我的~
2006-10-09 14:57
qiuhai1985
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-10-9
收藏
得分:0 

同上


编织美好得未来!!! COME ON SEA!!!
2006-10-10 15:47
ecbtnrt
Rank: 1
等 级:新手上路
威 望:1
帖 子:189
专家分:0
注 册:2006-4-16
收藏
得分:0 

递归其实就是一函数调用的问题,说的更确切点就是堆栈的问题.

用递归实现对一数组的倒序输出就是一个很好的例子,可以写一个这样的函数,
自己理解一下.


我为你痴,为你狂!
2006-10-11 23:39
song4
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:38
帖 子:1533
专家分:4
注 册:2006-3-25
收藏
得分:0 
你就见到函数调用,知道参数就接着调用函数不就得了
想那么多干什么,这样你就懂了

嵌入式 ARM 单片机 驱动 RT操作系统 J2ME LINUX  Symbian C C++ 数据结构 JAVA Oracle 设计模式 软件工程 JSP
2006-10-12 06:47
zkkpkk
Rank: 2
等 级:论坛游民
威 望:5
帖 子:489
专家分:28
注 册:2006-6-17
收藏
得分:0 

层层返回


Viva,espana!
2006-10-20 09:45
快速回复:请问递归函数是怎样看的?
数据加载中...
 
   



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

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