c++简单问题,大神呢?
c++吧
全部回复
仅看楼主
level 9
影圣天
楼主
第16小题,问题在图上,
for语句也可以转化成这样
while(a<100){
if(b>=10)
break;
if(b%3==1)
b+=3;
continue;
a++;
}
那么执行到continue后,后面的a++就不会被执行,那么答案怎么是选D?
2015年10月17日 11点10分
1
level 9
影圣天
楼主
2015年10月17日 11点10分
2
level 1
小圣归去
continue之后循环体语句的确不会再执行。但是a++不属于循环体,它是表达式,一个循环变量。
2015年10月17日 12点10分
3
影圣天
为什么他是表达式就也要算呢?不是说这个表达式3是在循环体之后才算的吗?大神!不懂。。。
2015年10月17日 23点10分
level 4
凄凉De劍聖
治好了我几十年的颈椎病~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~
2015年10月17日 13点10分
4
level 11
J君为红颜醉S
治好了我几十年的颈椎病~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~
2015年10月17日 14点10分
5
level 9
影圣天
楼主
2015年10月17日 23点10分
6
level 9
影圣天
楼主
2015年10月18日 00点10分
7
level 9
影圣天
楼主
治好了我几十年的颈椎病~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~
2015年10月18日 01点10分
8
level 14
iFly😘
这个for循环执行了3次,再加上a本身就是1,所以a的值是4啊…
2015年10月18日 01点10分
9
影圣天
请问,a++不是只有当循环体执行后才执行的吗?但是,执行到循环体时就已经转到了循环语句开始的位置,a++不是没有被执行吗?
2015年10月18日 01点10分
sunny天猫哥哥
回复 影圣天:你可以这么理解,第一次执行for循环的时候顺序是1初始化表达式2判断表达式3循环体4修正表达式5判断表达式6循环体…在你这个程序里执行到3的时候碰到continue了,而continue的作用是跳过其后的语句直接到达循环体的底部,相当于直接执行完3到达4。我看你的留
2015年10月18日 02点10分
sunny天猫哥哥
回复 影圣天:言,你理解成执行完3又回到1了,关键是continue不是跳出循环重新开始,而是到达循环体的底部。
2015年10月18日 02点10分
iFly😘
@sunny天猫哥哥
好吧,可能是C++的for循环我还不太了解。。
2015年10月18日 02点10分
level 11
买嘎扽
问再多不如自己单步调试
2015年10月18日 04点10分
10
影圣天
呃(⊙o⊙)… 这句话说的真对!
2015年10月18日 04点10分
level 7
等待合理解决
如果a++不被执行,a的值始终为1,这样打出来的是1,此题无解。
continue;后面无语句,多余。
可以把for语句改写成while,这只是在没有continue语句的情况。
2015年10月18日 06点10分
11
影圣天
2015年10月18日 06点10分
level 5
adobe1232111
1.1 2.4 3.7 4.10break,你4710都写出来了就不会跟着写234?
2015年10月18日 08点10分
13
level 5
adobe1232111
转化错误了吧,再说这种选择题没必要转化,跟着
For看就行了
2015年10月18日 08点10分
14
1