| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1008 人关注过本帖
标题:[求助]if语句一直搞不明白
只看楼主 加入收藏
喜刷刷
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-4-10
收藏
 问题点数:0 回复次数:13 
[求助]if语句一直搞不明白

void convert(int n)
{int i;
if ((i=n/10)!=0)
convert(i);
putchar(n%10+'0');
}
如果 n=456 会输出什么结果呢?
我一直觉得putchar是只会输出4而已

搜索更多相关主题的帖子: 语句 
2007-04-17 15:50
喜刷刷
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-4-10
收藏
得分:0 
急需帮助,谢谢先

2007-04-17 16:01
jmy2446267
Rank: 1
等 级:新手上路
帖 子:46
专家分:0
注 册:2007-4-14
收藏
得分:0 

当然会输出456了,这里每调用一次函数就会执行一次输出


仗剑天下,快意恩仇!
2007-04-17 16:40
爱以走远
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:7542
专家分:21
注 册:2007-3-16
收藏
得分:0 
我也觉得是4   我去运行一哈看看

   好好活着,因为我们会死很久!!!
2007-04-17 16:44
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 
这就是一个递归,去看一下递归的运行吧,输出会是456

雁无留踪之意,水无取影之心
2007-04-17 16:49
sunspirit
Rank: 1
等 级:新手上路
帖 子:41
专家分:0
注 册:2007-4-10
收藏
得分:0 

5和6也会输出 因为你的putchar()并没有因为if 而跳过 是必然要执行的一个语句

2007-04-17 16:50
爱以走远
Rank: 9Rank: 9Rank: 9
等 级:贵宾
威 望:52
帖 子:7542
专家分:21
注 册:2007-3-16
收藏
得分:0 
不懂老  真的是456   他怎么调有一次都要执行一次哦

   好好活着,因为我们会死很久!!!
2007-04-17 16:56
neverTheSame
Rank: 3Rank: 3
来 自:江西农业大学
等 级:新手上路
威 望:9
帖 子:1511
专家分:0
注 册:2006-11-24
收藏
得分:0 
convert(456)时 if((i=45)!=0) -->
convert(45) 时 if((i=4)!=0) --->
convert(4) 时 if((i=0)!=0) --->putchar(4%10+'0');相当于输出'4',
再返回到convert(45)的putchar(45%10+'0');相当于输出'5',
再返回到convert(456)的putchar(456%10+'0';相当于输出'6',然后就结束.

wap酷禾网(http://wap.),提供免费的、优质的、快捷的wap资源下载服务。
2007-04-17 16:56
PcrazyC
Rank: 6Rank: 6
等 级:贵宾
威 望:29
帖 子:5652
专家分:0
注 册:2006-10-20
收藏
得分:0 

递归:

{
语句1;


调用函数------->{ 语句1;
调用函数------->{ 语句1;
递归终止;//
语句2;//返回函数调用处
}
语句2;//返回函数调用处;
}

语句2;
}


雁无留踪之意,水无取影之心
2007-04-17 17:04
喜刷刷
Rank: 1
等 级:新手上路
帖 子:16
专家分:0
注 册:2007-4-10
收藏
得分:0 

大悟,谢谢大家,嘿嘿


2007-04-17 17:11
快速回复:[求助]if语句一直搞不明白
数据加载中...
 
   



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

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