搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 求大神解答!
标题:
求大神解答!
只看楼主
mrcold
等 级:
新手上路
帖 子:10
专家分:0
注 册:2012-4-1
结帖率:
100%
楼主
已结贴
√
问题点数:20 回复次数:9
求大神解答!
#include "stdio.h"
bin (int x)
{
if(x/2>0) bin(x/2);
printf("%d",x%2);
}
main()
{
bin(12);
}
答案是1100 完全不理解 求解释 谢谢!!
搜索更多相关主题的帖子:
1100
include
2012-04-01 15:31
embed_xuel
等 级:
贵宾
威 望:
58
帖 子:3845
专家分:11385
注 册:2011-9-13
第
2
楼
得分:0
楼主知道什么叫递归吗?
总有那身价贱的人给作业贴回复完整的代码
2012-04-01 15:35
mrcold
等 级:
新手上路
帖 子:10
专家分:0
注 册:2012-4-1
第
3
楼
得分:0
回复 2楼 embed_xuel
知道啊!! 就是自己调用自己呗 但是结果为咩是1100??
2012-04-01 16:13
embed_xuel
等 级:
贵宾
威 望:
58
帖 子:3845
专家分:11385
注 册:2011-9-13
第
4
楼
得分:0
因为每次printf的时候没有打印换行
总有那身价贱的人给作业贴回复完整的代码
2012-04-01 16:27
mrcold
等 级:
新手上路
帖 子:10
专家分:0
注 册:2012-4-1
第
5
楼
得分:0
回复 4楼 embed_xuel
问题是这4次结果是怎么的出来的咧?!
2012-04-02 13:53
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
6
楼
得分:0
以下是引用
mrcold
在2012-4-1 15:31:37的发言:
#include "stdio.h"
bin (int x)
{
if(x/2>0) bin(x/2);
printf("%d",x%2);
}
main()
{
bin(12);
}
答案是1100 完全不理解 求解释 谢谢!!
看着描红那句:如果传进来的参数x在x/2>0的时候,将再执行一次函数自身,你现在的实参是12,自己算一算看,多少次x/2之后,x/2>0不成立?
授人以渔,不授人以鱼。
2012-04-02 14:59
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
7
楼
得分:0
1楼的这个代码,虽然结果是对的,但属于不良代码的典型范例。
授人以渔,不授人以鱼。
2012-04-02 15:05
mrcold
等 级:
新手上路
帖 子:10
专家分:0
注 册:2012-4-1
第
8
楼
得分:0
回复 6楼 TonyDeng
12,6 对2取余不都应该是0么?结果怎么开始就是11然后才是00?
2012-04-03 16:34
TonyDeng
等 级:
贵宾
威 望:
304
帖 子:25859
专家分:48889
注 册:2011-6-22
第
9
楼
得分:20
是倒过来输出的,你看清楚if()判断之后是跳进下一次递归函数中,压住不输出的,在递归结束后才逐层退回来执行if()后面的语句。
授人以渔,不授人以鱼。
2012-04-03 16:57
embed_xuel
等 级:
贵宾
威 望:
58
帖 子:3845
专家分:11385
注 册:2011-9-13
第
10
楼
得分:0
那天我就问楼主什么是递归,楼主还说知道
总有那身价贱的人给作业贴回复完整的代码
2012-04-03 18:31
10
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-365000-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.625662 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved