A-A+

有以下程序: main() { int a=15 b=21 m=0; switch(a%3)

2022-08-05 22:17:48 问答库 阅读 172 次

问题详情

有以下程序: main() { int a=15,b=21,m=0; switch(a%3) {case 0:m++;break; case 1:m++; switch(b%2) { default:m++; case 0;m++;break; } } printf("%dn",m); } 程序运行后的输出结果是()。
A.1
B.2
C.3
D.4请帮忙给出正确答案和分析,谢谢!

参考答案

正确答案:A
解析:在switch语句中break语句的作用是退出分支语句,若没有break语句则一直向下执行。本题中首先计算switch后面括号里的表达式a%3,即15%3为0:执行case0:后面的语句“m++;”,m自加1,即m为1;遇到break语句;然后跳出switch语句,所以最后输出的m值为1。所以选项A正确。

考点:程序