搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 让我困扰的一题
标题:
让我困扰的一题
只看楼主
一介草民
等 级:
新手上路
帖 子:18
专家分:0
注 册:2008-1-24
结帖率:
100%
楼主
已结贴
√
问题点数:10 回复次数:7
让我困扰的一题
main()
{int x=1,y=100;
while(y>0)
{x*=2;y/=3;}
printf("%d,%d",x,y)
}
A.8,0 B.16,0 C.32,0 D.64,0
答案是C,我非常的不解~~~~已知x=1,y=100,我觉得输出结果应该是2,33才对啊~~~
搜索更多相关主题的帖子:
困扰
2010-03-12 16:17
mywaylgh
来 自:厨房
等 级:
蝙蝠侠
威 望:
5
帖 子:188
专家分:729
注 册:2010-3-10
第
2
楼
得分:5
有个循环 while.... 注意没?
换成下面的你就看懂了
main()
{int x=1,y=100;
while(y>0)
{
x=x*2;
y=y/3;
}
printf("%d,%d",x,y)
}
人生就像茶几 上面放着许多杯具
人生也像厨房 里面总有一些洗具
2010-03-12 16:21
ldg628
等 级:
火箭侠
威 望:
3
帖 子:526
专家分:3036
注 册:2009-6-23
第
3
楼
得分:5
你要看清楚循环的条件是
y>0
,
1. x == 2,y == 33 y > 0 ----> 2
2. x == 4,y == 11 y > 0 ----> 3
3. x == 8,y == 3 y > 0 ----> 4
4. x == 16,y == 1 y > 0 ----> 5
5. x == 32,y == 0 y == 0 跳出循环,打印x,y值
2010-03-12 16:24
不死GO
等 级:
新手上路
帖 子:10
专家分:0
注 册:2010-3-7
第
4
楼
得分:0
对啊 这是个循环结构 你只算了一步 肯定不行啊 再研究吧
2010-03-12 16:33
rib
等 级:
业余侠客
帖 子:95
专家分:252
注 册:2009-3-30
第
5
楼
得分:0
while 是循环 循环要直到条件不符合才跳出 你想的那只是执行一次的结果
2010-03-12 16:45
一介草民
等 级:
新手上路
帖 子:18
专家分:0
注 册:2008-1-24
第
6
楼
得分:0
谢谢各位,我明白了,我最近不知道为什么被这种循环的题目搞得晕头转向,全乱了
2010-03-12 16:49
段梦超
等 级:
论坛游民
帖 子:21
专家分:10
注 册:2009-12-20
第
7
楼
得分:0
prentf 函数在while循环之外,因此程序输出的将是循环结束之后的最后的结果。while(y>o)当y<=0时循环结束。由于y是int型。所以实际上当y小于1时(int型只接受整型数据,当y/3小于1时,y的值就为0了)因此楼主的程序中的while语句要循环4次就结束了。此时x=2的4次方为32y=0(y=0时循环结束)
2010-03-12 17:04
qicaiyu
等 级:
新手上路
帖 子:3
专家分:0
注 册:2010-3-12
第
8
楼
得分:0
你要看清楚循环的条件是 y>0,
1. x == 2,y == 33 y > 0 ----> 2
2. x == 4,y == 11 y > 0 ----> 3
3. x == 8,y == 3 y > 0 ----> 4
4. x == 16,y == 1 y > 0 ----> 5
5. x == 32,y == 0 y == 0 跳出循环,打印x,y值
3楼的朋友浅显易懂 很不错
2010-03-13 00:28
8
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-299213-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.726049 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved