| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 914 人关注过本帖
标题:让我困扰的一题
只看楼主 加入收藏
一介草民
Rank: 1
等 级:新手上路
帖 子: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
Rank: 8Rank: 8
来 自:厨房
等 级:蝙蝠侠
威 望:5
帖 子:188
专家分:729
注 册:2010-3-10
收藏
得分: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
Rank: 12Rank: 12Rank: 12
等 级:火箭侠
威 望:3
帖 子:526
专家分:3036
注 册:2009-6-23
收藏
得分: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
Rank: 1
等 级:新手上路
帖 子:10
专家分:0
注 册:2010-3-7
收藏
得分:0 
对啊   这是个循环结构  你只算了一步 肯定不行啊   再研究吧
2010-03-12 16:33
rib
Rank: 4
等 级:业余侠客
帖 子:95
专家分:252
注 册:2009-3-30
收藏
得分:0 
while  是循环       循环要直到条件不符合才跳出     你想的那只是执行一次的结果      
2010-03-12 16:45
一介草民
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2008-1-24
收藏
得分:0 
谢谢各位,我明白了,我最近不知道为什么被这种循环的题目搞得晕头转向,全乱了
2010-03-12 16:49
段梦超
Rank: 2
等 级:论坛游民
帖 子:21
专家分:10
注 册:2009-12-20
收藏
得分: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
Rank: 1
等 级:新手上路
帖 子:3
专家分:0
注 册:2010-3-12
收藏
得分: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
快速回复:让我困扰的一题
数据加载中...
 
   



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

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