#include <iostream> using namespace std; int main(void) { int x = 1, i = 1; for (; x < 50; i++) { if (x >= 10) break; if (x % 2 != 0) { x += 3; continue; } x -= -1; } cout << x << ' ' << i << endl; return 0; }
12 7
11 6
12 6
11 7
本题首先要看清楚一点:x-=-1
其次要知道break和continue的用法,break是直接跳出for循环,continue是,继续执行for循环而不是往下走。
继续分析:
条件1:x>=10,结束循环
条件2:x%2!=0,即x与2取余不等于0,也就是x=1、3、5、7、9才会满足该表达式,只要continue一次x+=3,同时i++执行一次
条件3:只要执行x-=-1(相当于x+=1),也就是x=2、4、6、8才会执行该表达式,同时i++也会执行一次
那么:
x=1,i=1 满足条件2 则:x=4,i=2
x=4,i=2 满足条件3 则:x=5,i=3
x=5,i=3 满足条件2 则:x=8,i=4
x=8,i=4 满足条件3 则:x=9,i=5
x=9,i=5 满足条件2 则:x=12,i=6
由于12>10,所以本次循环执行break,结束
所以x=12,i=6,答案:选C
break退出for循环之后,不再进行i++
x = x-1 ;
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题
本题首先要看清楚一点:x-=-1
其次要知道break和continue的用法,break是直接跳出for循环,continue是,继续执行for循环而不是往下走。
继续分析:
条件1:x>=10,结束循环
条件2:x%2!=0,即x与2取余不等于0,也就是x=1、3、5、7、9才会满足该表达式,只要continue一次x+=3,同时i++执行一次
条件3:只要执行x-=-1(相当于x+=1),也就是x=2、4、6、8才会执行该表达式,同时i++也会执行一次
那么:
x=1,i=1 满足条件2 则:x=4,i=2
x=4,i=2 满足条件3 则:x=5,i=3
x=5,i=3 满足条件2 则:x=8,i=4
x=8,i=4 满足条件3 则:x=9,i=5
x=9,i=5 满足条件2 则:x=12,i=6
由于12>10,所以本次循环执行break,结束
所以x=12,i=6,答案:选C