C语言编程 选择结构程序设计

2025-03-22 19:32:45
推荐回答(1个)
回答1:

最终结果——m=3
switch
(a%3)
→ a为16,a%3为1

执行
case
1

m初值为0,m++为1。注意,这里case1
并没有break,所以会继续向下执行完整个switch
(a%3)

执行switch
(b%2)

b为21,b%2为1

执行default

m为1,m++为2

注意这里依然会继续执行case0

m++为3,break跳出switch
(b%2)
→ switch
(a%3)语句结束

执行printf,此时m为3。
#include
void main() {
int a=16,b=21,m=0;
switch(a%3) {
case 0:m++; break;
case 1:m++;
switch(b%2) {
default: m++;
case 0:m++;break;
}
}
printf("m=%d\n",m);
}
运行结果