标题:请帮我看一下这个递归,怎么不能这样调用?
只看楼主
defhvk
Rank: 2
等 级:论坛游民
帖 子:62
专家分:29
注 册:2011-4-8
结帖率:93.33%
已结贴  问题点数:8 回复次数:5 
请帮我看一下这个递归,怎么不能这样调用?
#include<stdio.h>
int x(int );
main()
{
   int a=1;
   printf("%d",x(a));
}

int x(int a)
{
   static int b=0;
   b++;
   x((a+1)*2);
   if (b==9)
       return x((a+1)*2);
}


1>------ 已启动生成: 项目: hg, 配置: Debug Win32 ------
1>正在编译...
1>29.c
1>f:\程序文件\hg\hg\29.c(16) : warning C4717: “x”: 如递归所有控件路径,函数将导致运行时堆栈溢出
1>f:\程序文件\hg\hg\29.c(16) : warning C4715: “x”: 不是所有的控件路径都返回值
1>生成日志保存在“file://f:\程序文件\hg\hg\Debug\BuildLog.htm”
1>hg - 0 个错误,2 个警告
========== 生成: 成功 1 个,失败 0 个,最新 0 个,跳过 0 个 ==========
搜索更多相关主题的帖子: return 日志 
2011-04-13 15:38
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
得分:4 
楼主要实现什么功能

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-04-13 15:42
defhvk
Rank: 2
等 级:论坛游民
帖 子:62
专家分:29
注 册:2011-4-8
得分:0 
就是昨天猴子摘桃子功能。猴子第一天摘了若干个桃子,当即吃了一半加一个,以后每天吃掉剩下的一半加一个,第10天时桃子只有一个了,问猴子第一天摘了多少个桃子?
我最想知道我上面那个程序为什么不能实现?请作详细解释一下?
2011-04-13 15:48
ansic
Rank: 14Rank: 14Rank: 14Rank: 14
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
注 册:2011-2-15
得分:0 
不好意思, 那题我没做出来

善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
2011-04-13 15:59
defhvk
Rank: 2
等 级:论坛游民
帖 子:62
专家分:29
注 册:2011-4-8
得分:0 
可以用for写出来,但我最想问的是,上面那个递归为什么会那样提示?请高手指点???????
#include<stdio.h>
main()
{
  int a=1,b;
   for (b=1;b<=9;b++)
   a=(a+1)*2;
   printf("%d",a);
}
这样就OK!
2011-04-13 16:12
帅的让人抽
Rank: 4
来 自:安徽
等 级:业余侠客
帖 子:94
专家分:224
注 册:2010-9-30
得分:4 
程序代码:
#include<stdio.h>
int function(int );
int main()
{
   int sum;
   sum=function(1);
   printf("%d",sum);
   return 0;
}

int function(int day)
{if (day==10)
       return  1;
return ((function(day+1)+1)*2);
}

你自己看一下啊!
我就不多说了……

樱花下落的速度依然是秒速五厘米,即使发了一千次短信,
心与心之间也只能靠近一厘米……
2011-04-13 16:50



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-336534-1-1.html




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

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