一个while循环里有两个并列的while语句如何执行?求大佬解答

就像这样
while(f<r){
while(a[f]%2!=0) f++; (1)
while(a[r]%2==0) r--; (2)
}
是先执行完while(1),然后执行while(2),还是执行一次1在执行一次2

在这种情况下,首先会执行第一个 while 循环 (1) 的条件判断。如果条件为真,即 a[f] 的值为奇数,那么会进入第一个 while 循环的代码块,并执行其中的语句。执行完毕后,会再次回到第一个 while 循环的条件判断处。
只有当第一个 while 循环的条件为假时,才会继续执行第二个 while 循环 (2) 的条件判断。如果条件为真,即 a[r] 的值为偶数,那么会进入第二个 while 循环的代码块,并执行其中的语句。执行完毕后,会再次回到第二个 while 循环的条件判断处。
因此,整个循环过程是先执行完第一个 while 循环 (1),再执行第二个 while 循环 (2)。在每次循环迭代中,先执行 (1),然后再执行 (2)。这样的执行顺序会一直重复,直到第一个 while 循环的条件为假,才会跳出整个循环。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-11-10
这显然不是“并列”得while,1)再前2)在后,1)2)加起来是外部循环得循环体
所以是
(1)(2)(1)(2)....知道f<r不满足为止
相似回答