搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ c语言递归问题
标题:
c语言递归问题
只看楼主
mkl34367803
等 级:
新手上路
帖 子:12
专家分:0
注 册:2012-9-6
结帖率:
20%
楼主
已结贴
√
问题点数: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
等 级:
新手上路
帖 子:2
专家分:1
注 册:2012-11-21
第
2
楼
得分:1
把while改为if就行了
2012-11-21 12:46
yaobao
等 级:
蒙面侠
威 望:
4
帖 子:1854
专家分:4121
注 册:2012-10-25
第
3
楼
得分:1
你的递归没有边界条件啊,不死循环???
认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-21 13:06
mkl34367803
等 级:
新手上路
帖 子:12
专家分:0
注 册:2012-9-6
第
4
楼
得分:0
回复 2楼 linchaopang
为什么要改啊?while为什么就错了呢?
2012-11-21 13:10
yaobao
等 级:
蒙面侠
威 望:
4
帖 子:1854
专家分:4121
注 册:2012-10-25
第
5
楼
得分:0
楼主能告诉我你那有没有死循环吗???我怎么看都认为是死循环
认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-21 14:45
jk_love
等 级:
蝙蝠侠
威 望:
1
帖 子:196
专家分:965
注 册:2012-10-22
第
6
楼
得分:1
我也同意楼上
2012-11-21 15:02
yaobao
等 级:
蒙面侠
威 望:
4
帖 子:1854
专家分:4121
注 册:2012-10-25
第
7
楼
得分:0
不负责任的楼主,
,你那编译有没有死循环啊
认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-21 17:03
小小战士
等 级:
蜘蛛侠
威 望:
1
帖 子:569
专家分:1313
注 册:2012-11-3
第
8
楼
得分:1
很明显啊,肯定是循环死了3211111111111111111111...递归其实没必要用一个while循环,只要最后一层满足返回条件再层层返回就行了
小小战士,战士中的战斗机!
2012-11-21 17:21
yaobao
等 级:
蒙面侠
威 望:
4
帖 子:1854
专家分:4121
注 册:2012-10-25
第
9
楼
得分:0
不是没有必要而是不能才对,
认认真真的学习,踏踏实实的走路:戒骄戒躁!!!
2012-11-21 18:13
小小战士
等 级:
蜘蛛侠
威 望:
1
帖 子:569
专家分:1313
注 册:2012-11-3
第
10
楼
得分:0
世界上没有绝对的真理,只是真理还没有被推翻而已!
小小战士,战士中的战斗机!
2012-11-21 18:31
19
1/2页
1
2
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-387782-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.211844 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved