黑马程序员技术交流社区

标题: 下列语句序列执行后,i的值是( )。 [打印本页]

作者: Jason996    时间: 2014-12-15 23:34
标题: 下列语句序列执行后,i的值是( )。
下列语句序列执行后,i的值是(    )。 [这是今天的测试题目,我通程序执行显示的就是BCD的答案,但正确答案确实D,为啥?]
int i=16;
do {
i/=2;
} while( i > 3 );
A. 16
B. 8
C. 4
D. 2
作者: javaAndroid    时间: 2014-12-15 23:41
首先是i初值为16。接着进行do-while循环操作,
第一次循环结束后i=8,判断,8>3,继续循环
第二次结束,i=4,判断4>3,继续循环
第三次结束,i=2,判断2<3,条件不成立
结束循环
所以i值为2.
作者: I空空    时间: 2014-12-16 22:57
答案就是D,这个楼上已经写的很清楚了,可能是你把输出语句写错位置了把
作者: 抬头45°    时间: 2014-12-16 23:01
二楼是对的,楼主也是对的,但是你说的是每次i变化的值
作者: 疯狂的学渣    时间: 2014-12-16 23:09
涨姿势了,最后i的值是2,哦哦。
作者: 飞跃离开    时间: 2014-12-16 23:11
来迟了,二楼分析的很透彻,我只有默默的赞一个了
作者: dandan520    时间: 2014-12-16 23:13
D 啊 看条件就知道了
作者: 曹震国    时间: 2014-12-16 23:26
应该是输出语句写错地方了
作者: qowoeo7538    时间: 2014-12-16 23:41
i的值依次是:8  4 2然后跳出循环
作者: zmhlnrs    时间: 2014-12-17 12:49
i的值最后循环完以后是2,  你应该是输出语句写到循环里了
作者: 清诗纪事    时间: 2014-12-17 20:07
。。i=2,do while和while do的却别就是do while至少要执行一遍do里边的语句,然后再判断条件,符合就继续,不符合就结束循环。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2