A-A+

有以下程序 main() {int a=1 b; for(b=1;b<=10;b++) {

2022-08-06 05:40:33 问答库 阅读 176 次

问题详情

有以下程序 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("%dn",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。

考点:程序