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

#include<stdio.h>
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);
}

m=多少 为什么 麻烦详细说明程序进行过程
看图方便一点

最终结果——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<stdio.h>
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);
}

运行结果

温馨提示:答案为网友推荐,仅供参考
相似回答