|
网站首页
|
业界新闻
|
小组
|
威客
|
人才
|
下载频道
|
博客
|
代码贴
|
在线编程
|
编程论坛
|
登录
注册
短消息
我发表的主题
我参与的主题
我收藏的贴子
我上传的附件
我下过的附件
编辑个人资料
我的博客
用户控制面板
搜索
道具
恢复默认风格
碧海青天
秋意盎然
棕红预览
粉色回忆
蓝雅绿
紫色淡雅
青青河草
e点小镇
橘子红了
红红夜思
水晶紫色
雪花飘飘
新年快乐
风格
短消息
论坛展区
帮助
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 函数递归
我的收件箱(0)
欢迎加入我们,一同切磋技术
用户名:
密 码:
共有
466
人关注过本帖
标题:
函数递归
只看楼主
加入收藏
duzhiming
等 级:
新手上路
帖 子:86
专家分:0
注 册:2012-2-13
结帖率:
62.07%
楼主
收藏
问题点数:0 回复次数:9
函数递归
5 int fun(int a)
6 {
7
if(a > 0)
8
9
return fun(--a)+a
;
10 }
11
12
int main(int argc, char* argv[])
13
{
14
printf("%d\n",fun(4) );
15
return 0;
16
}
不知道这个函数是怎样返回的
14行输出
6
为什么;
搜索更多相关主题的帖子:
return
2013-10-12 21:09
举报帖子
使用道具
赠送鲜花
jia3111
等 级:
论坛游民
帖 子:37
专家分:92
注 册:2012-9-20
第
2
楼
收藏
得分:0
应该是在于--a吧,--a,是a值本身没有变化,a还是等于4;
2013-10-12 21:36
举报帖子
使用道具
赠送鲜花
zhaogay
来 自:宫
等 级:
黑侠
帖 子:151
专家分:586
注 册:2013-10-10
第
3
楼
收藏
得分:0
fun(4)=fun(3)+3=fun(2)+2+3=fun(1)+1+2+3=fun(0)+0+1+2+3;应该这样的,但是单独输出fun(0),我这输出为2,不知道为什么(补充:fun(0)在不同位置值一般会变,在fun里最后嵌套的fun(0)都是0,也不像是个地址
)
[
本帖最后由 zhaogay 于 2013-10-12 22:27 编辑
]
好好学习,天天想上
2013-10-12 21:47
举报帖子
使用道具
赠送鲜花
embed_xuel
等 级:
贵宾
威 望:
58
帖 子:3845
专家分:11385
注 册:2011-9-13
第
4
楼
收藏
得分:0
fun函数有问题,如果a不大于0,函数返回的是什么?
总有那身价贱的人给作业贴回复完整的代码
2013-10-12 22:22
举报帖子
使用道具
赠送鲜花
x_x
等 级:
论坛游民
帖 子:44
专家分:43
注 册:2012-10-16
第
5
楼
收藏
得分:0
看递归函数的作用应该是求1+2+3+...+n。
问题在第九句。
fun(--a)+a
; 这句的问题就和 --a+a 是一样的。应该改为fun(a-1)+a;
2013-10-12 23:19
举报帖子
使用道具
赠送鲜花
天空编程
等 级:
论坛游侠
帖 子:53
专家分:123
注 册:2013-7-5
第
6
楼
收藏
得分:0
我这么感觉这个程序有很大的问题呢?
return fun(--a)+a这句语句感觉根本就不可能等于0,
也就说函数是一直在调用。
int main([int argc, char* argv[])这里的那些参数是干嘛的?
2013-10-13 00:07
举报帖子
使用道具
赠送鲜花
a592963144
等 级:
论坛游民
帖 子:41
专家分:95
注 册:2013-9-27
第
7
楼
收藏
得分:0
main()中fun(4)
fun()中 a=4;
a=4>0 return
fun(3)
+3
|
a=3>0
return
fun(2)
+2
|
a=2>0
return
fun(1)
+1
|
a=1>0
return
fun(o)
+0
|
a=0>0为假 fun(0)无返回值
我是这么理解的 fun(4)=fun(3)+3=fun(2)+2+3=fun(1)+1+2+3=fun(0)+0+1+2+3=6
2013-10-13 11:58
举报帖子
使用道具
赠送鲜花
天才也会死机
来 自:湖南
等 级:
新手上路
帖 子:2
专家分:0
注 册:2013-10-12
第
8
楼
收藏
得分:0
因为--a是先减再赋值的,所以--a=3,a=3,输出的结果是
6
2013-10-13 13:37
举报帖子
使用道具
赠送鲜花
qunxingw
等 级:
贵宾
威 望:
24
帖 子:1676
专家分:7295
注 册:2011-6-30
第
9
楼
收藏
得分:0
递归分二步,1找函数的出口,即找出函数在某个参数时此函数的一个具体的值或一个具体的表现形式。第2步,找出函数的抽象的普遍的规律,参数有一个递减或递增的关系。
www.qunxingw.wang
2013-10-13 18:53
举报帖子
使用道具
赠送鲜花
awisebird_
等 级:
论坛游侠
威 望:
1
帖 子:82
专家分:185
注 册:2013-7-6
第
10
楼
收藏
得分:0
代码粘贴不规范,stdio.h都不加呀
2013-10-13 22:27
举报帖子
使用道具
赠送鲜花
10
1/1页
1
快速回复:
函数递归
数据加载中...
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.029355 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved