A-A+
有以下程序: main() { int a=15 b=21 m=0; switch(a%3)
问题详情
有以下程序: 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正确。