✏️ 纠错
第 259 题 / 共 301 题
第 8 题 下面C++代码执行后其输出是( )。
for (i=1; i < 12; i++){
if (i % 2 == 0)
continue;
for (j = 0; j < i; j++)
if (i * j % 2)
break;
}
if(i>= 12)
cout << (i * j);
for (i=1; i < 12; i++){
if (i % 2 == 0)
continue;
for (j = 0; j < i; j++)
if (i * j % 2)
break;
}
if(i>= 12)
cout << (i * j);
你真棒!
📝 题目解析
【答案】B
【考纲知识点】循环结构、分支结构
【解析】 外层循环i从1到11,当i为偶数时continue跳过;i为奇数时进入内层循环j从0到i-1。但内层if判断i * j%2为真时break,由于i为奇数,j从0开始,首次j=0时i * j=0,不满足break条件,随后j递增,一旦j为奇数则i * j为奇数,触发break。因此内层循环在j=1时即退出。最终i=11结束后i++变为12,跳出外层循环,执行if(i>=12)输出i * j,此时j未被重新定义,值为上次循环结束时的1,故输出12。