| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 569 人关注过本帖, 1 人收藏
标题:c语言递归问题
只看楼主 加入收藏
mkl34367803
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2012-9-6
结帖率:20%
收藏(1)
已结贴  问题点数:5 回复次数:18 
c语言递归问题
我的意图是把一个整数按低位到高位输出,结果我输入123,出来的结果却是3211,多了一个1,这个是怎么回事啊?
#include<stdio.h>
//低位到高位依次输出
void convert(int n)
{
    printf("%d",n%10);
    n=n/10;
    while(n)
        convert(n);
}
void main()
{
    int n;
    scanf("%d",&n);
    convert(n);
}
搜索更多相关主题的帖子: void convert include 
2012-11-21 12:12
linchaopang
Rank: 1
等 级:新手上路
帖 子:2
专家分:1
注 册:2012-11-21
收藏
得分:1 
把while改为if就行了
2012-11-21 12:46
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:1 
你的递归没有边界条件啊,不死循环???

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-21 13:06
mkl34367803
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2012-9-6
收藏
得分:0 
回复 2楼 linchaopang
为什么要改啊?while为什么就错了呢?
2012-11-21 13:10
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
楼主能告诉我你那有没有死循环吗???我怎么看都认为是死循环

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-21 14:45
jk_love
Rank: 8Rank: 8
等 级:蝙蝠侠
威 望:1
帖 子:196
专家分:965
注 册:2012-10-22
收藏
得分:1 
我也同意楼上
2012-11-21 15:02
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
不负责任的楼主,,你那编译有没有死循环啊

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-21 17:03
小小战士
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:569
专家分:1313
注 册:2012-11-3
收藏
得分:1 
很明显啊,肯定是循环死了3211111111111111111111...递归其实没必要用一个while循环,只要最后一层满足返回条件再层层返回就行了

小小战士,战士中的战斗机!
2012-11-21 17:21
yaobao
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:蒙面侠
威 望:4
帖 子:1854
专家分:4121
注 册:2012-10-25
收藏
得分:0 
不是没有必要而是不能才对,

认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-21 18:13
小小战士
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:1
帖 子:569
专家分:1313
注 册:2012-11-3
收藏
得分:0 
世界上没有绝对的真理,只是真理还没有被推翻而已!

小小战士,战士中的战斗机!
2012-11-21 18:31
快速回复:c语言递归问题
数据加载中...
 
   



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

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