for循环中break和continue的区别
假如:int a=0;下面那个控制程序会进入死循环?A、for(;;)
if(a)continue;
B、for(;a=0;)
if(a)break;
C、for(;;)
if(a)break;
D、for(;;a=0)
if(a)break;
希望大神能够帮忙解释一下,这个知识点没太弄明白。 除了B,应该都是死循环吧 1. for(初始条件;终止条件;变化方式)
2. if(0) 为 false
B 不会进入死循环,因为B符合终止条件
A因为缺少 终止条件 并且 if(0) 为假不会break跳出循环
C因为缺少 终止条件 并且 if(0) 为假不会break跳出循环
D因为缺少 终止条件 并且 if(0) 为假不会break跳出循环 hiwch 发表于 2019-3-12 11:01
1. for(初始条件;终止条件;变化方式)
2. if(0) 为 false
B符合终止条件,但是if(a)还是为false啊。
其余ACD的解释看懂了 瓜瓜咚 发表于 2019-3-12 11:15
B符合终止条件,但是if(a)还是为false啊。
其余ACD的解释看懂了
循环还没开始,就直接终止了。跳出去了 瓜瓜咚 发表于 2019-3-12 11:15
B符合终止条件,但是if(a)还是为false啊。
其余ACD的解释看懂了
你上机单步调试下,就看明白了。 a491367326 发表于 2019-3-12 11:47
你上机单步调试下,就看明白了。
大神,这个a=0在判断条件中是什么意思啊?不是赋值吧?
它和a==0不一样吧? 666
瓜瓜咚 发表于 2019-3-12 12:49
大神,这个a=0在判断条件中是什么意思啊?不是赋值吧?
它和a==0不一样吧?
就是赋值,当判断被赋值条件为0,就意味着命题为假,循环直接跳过。
页:
[1]