| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 569 人关注过本帖
标题:请教简单递归调用的问题
只看楼主 加入收藏
sunshiqiang
Rank: 2
等 级:论坛游民
帖 子:14
专家分:16
注 册:2014-1-5
结帖率:100%
收藏
已结贴  问题点数:18 回复次数:4 
请教简单递归调用的问题
程序如下:
程序代码:
  
  1 #include<stdio.h>
  2 int fun(int a,int b)
  3 {
  4     if(a%2!=0 && b%2!=0) return 1;
  5     return 2*fun(a/2,b/2);
  6 }
  7 int main()
  8 {
  9     int k = 0;

 10     k=fun(4,8);

 11     printf("%d\n",k);

 12     return 0;

 13 }

图片附件: 游客没有浏览图片的权限,请 登录注册

 问题是执行的时候在第5行出现段错误;想请教一下为什么,应该怎么改。谢谢!
搜索更多相关主题的帖子: include 
2014-09-17 13:51
wyw19880809
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:3
帖 子:178
专家分:738
注 册:2013-3-14
收藏
得分:5 
if(a%2!=0 && b%2!=0)这个条件给错了,多次调用之后a=0,b=0,所以这个递归无法结束一直耗用内存,出现段错误
2014-09-17 16:04
erty1001
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:4
帖 子:331
专家分:1433
注 册:2014-8-31
收藏
得分:5 
简单说说:递归的出口要是完整,无死角的
2014-09-17 19:56
随风而行lulu
Rank: 2
等 级:论坛游民
帖 子:59
专家分:60
注 册:2014-9-6
收藏
得分:5 
回复 3 楼 erty1001
感觉我是智商不够用了,遇到递归函数,都不知道流程是怎么走的了
2014-09-20 01:17
Coincedence4
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:52
专家分:151
注 册:2014-9-4
收藏
得分:5 
这不可能收敛啊到你的基准情况啊
2014-09-20 11:43
快速回复:请教简单递归调用的问题
数据加载中...
 
   



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

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