问题 单项选择题

有以下程序
main()
int a=1,b;
for(b=1;b<=10;b++)
if(a>=8)break;
if(a%2==1)a+=5;continue;
a-=3;

printf("%d\n",b);

程序运行后的输出结果是

A) 3
B) 4
C) 5
D) 6

答案

参考答案:B

解析: 本break语句和continue语句的区别:break语句使程序跳出本层循环,而continue语句使程序跳出本次循环,进入下一次循环,第一次循环,b=1,a=1;则执行第二个if语句,a为满足条件,a=a+5=6,退出本次循环;第二次循环,b=2,a=3;第三次循环,b=3,a为奇数满足第二个if语句的条件,a=a+5=8,退出本次循环,第四次循环,b=4,a=8,满足第一个if语句的条件,跳出for循环,最后输出b=4。

选择题
多项选择题