|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 请教递归问题
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
889
人关注过本帖
标题:
请教递归问题
只看楼主
加入收藏
木工
等 级:
论坛游民
帖 子:45
专家分:36
注 册:2010-3-18
结帖率:
100%
楼主
收藏
已结贴
√
问题点数:20 回复次数:17
请教递归问题
打印1到5的阶乘值。
int fac(int n)
{static int f=1;
f=f*n;
return(f);
}
main()
{int i;
for(i=1;i<=5;i++)
printf("%d!=%d\n",i,fac(i));
}
请问int fac(int n)
{static int f=1;
f=f*n;
return(f);
}
递归的实现我弄不明白,请指点
搜索更多相关主题的帖子:
递归
2010-10-02 11:02
举报帖子
使用道具
赠送鲜花
逐渐学习
等 级:
侠之大者
帖 子:113
专家分:454
注 册:2010-9-26
第
2
楼
收藏
得分:5
static int f=1;这是定义成静态变量,每次调用函数fac时保留上次的数值.
当n=1时,f=f*n=1!;
当n=2时,f=1*2=2!;依此类推直到n=5,f=4!*5=5!;
如果f定义为:int f=1,则每次调用fac时f先赋值为1,在计算f=f*n,并不是所要的阶乘值.
帮人《---》帮己
2010-10-02 11:50
举报帖子
使用道具
赠送鲜花
vandychan
等 级:
贵宾
威 望:
18
帖 子:2296
专家分:6418
注 册:2010-8-20
第
3
楼
收藏
得分:2
以下是引用
nydzdoking
在2010-10-2 11:48:09的发言:
当然所谓顿悟,是需你长期努力的学习结果!
不许卖广告
到底是“出来混迟早要还”还是“杀人放火金腰带”?
2010-10-02 13:00
举报帖子
使用道具
赠送鲜花
Crocodile_JX
等 级:
职业侠客
帖 子:161
专家分:335
注 册:2010-9-13
第
4
楼
收藏
得分:1
int fac(int n)
{static int f=1;
f=f*n;
return(f);
}
这不是求阶乘的函数!也就是求出来的结果不是阶乘值。
2010-10-02 13:08
举报帖子
使用道具
赠送鲜花
vandychan
等 级:
贵宾
威 望:
18
帖 子:2296
专家分:6418
注 册:2010-8-20
第
5
楼
收藏
得分:1
以下是引用
Crocodile_JX
在2010-10-2 13:08:45的发言:
这不是求阶乘的函数!也就是求出来的结果不是阶乘值。
不是递归
到底是“出来混迟早要还”还是“杀人放火金腰带”?
2010-10-02 13:14
举报帖子
使用道具
赠送鲜花
Crocodile_JX
等 级:
职业侠客
帖 子:161
专家分:335
注 册:2010-9-13
第
6
楼
收藏
得分:5
不好意思,搞错了!没有看到 static 这个关健字。
int fac(int n)
{static int f=1;
/*这个声明 f 是一个静态的局部变量,它的初始值为 1,第一次调用结束后它的值为 2,因为它是静态局部变量,在函数调用结束后,它并没有被释放, 仍保留 f = 2。在第二次调用fac()函数时, f 的值为 2(上次调用结束时的值),后面的就以此类推*/
f=f*n;
return(f);
}
不知道这样说 你明不明白?
2010-10-02 13:20
举报帖子
使用道具
赠送鲜花
Crocodile_JX
等 级:
职业侠客
帖 子:161
专家分:335
注 册:2010-9-13
第
7
楼
收藏
得分:1
呵呵...
这确实不是递归。 只是简单地重复调用同一个函数。
2010-10-02 13:22
举报帖子
使用道具
赠送鲜花
木工
等 级:
论坛游民
帖 子:45
专家分:36
注 册:2010-3-18
第
8
楼
收藏
得分:0
8楼说的我明白了,谢谢,其实就是用static 后fac(1)=1,fac(2)=fac(1)*2,fac(3)=fac(2)*3,...........依此类推
[
本帖最后由 木工 于 2010-10-2 14:47 编辑
]
2010-10-02 14:40
举报帖子
使用道具
赠送鲜花
御坂美琴
来 自:魔術の禁書目錄
等 级:
小飞侠
威 望:
9
帖 子:952
专家分:2929
注 册:2010-8-18
第
9
楼
收藏
得分:1
根本就不是递归
永远为正义而奋斗,锄强扶弱的Level 5 超能力者
とある魔術の禁書目錄インデックス__御み坂さか美み琴こと
http://bbs.bccn.net/space.php?action=threads&uid=483997
2010-10-02 14:46
举报帖子
使用道具
赠送鲜花
BlueGuy
等 级:
版主
威 望:
29
帖 子:4476
专家分:4055
注 册:2009-4-18
第
10
楼
收藏
得分:0
回复 2楼 nydzdoking
让程序自己画
我就是真命天子,顺我者生,逆我者死!
2010-10-02 15:33
举报帖子
使用道具
赠送鲜花
18
1/2页
1
2
快速回复:
请教递归问题
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.055711 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved