main(){ int a,b;a=3;b=5;switch(a-1){case0: case:1:b+=4 case2: case3:b*=4;case4:b+=4;default:b⼀=4;}

printf("%d,%d尀n,a,b");} 是如何运算的啊 求高手详解啊
2025-02-25 03:50:15
推荐回答(2个)
回答1:

我没实际写,但是如果我没理解错
应该是a=3 b=6
int a,b;a=3;b=5;最开始定义和赋值肯定没问题,
switch(a-1) 因为a=3,所以switch(a-1)等价为switch(2),但a未被重新赋值,所以a依旧为3
即从case2开始,但case2无计算式,且所有case中间没有break
所以 case2 case3处理方式一样都是b*=4
b*=4 b=20
b+=4 b=24
b/4 b=6

回答2:

void
main(){
int
a=13,b=21,m=0;
switch(a%3)
//a%3
=
1
{
case
0:
m++;
break;
case
1:
//执行这里
m++;
//
m++
后为
1
switch(b%2)
//b%2
=
1
{
default:
m++;
//执行这里
m++
为2
case
0:
m++;
//因为上一句没有break;
所以继续m++
就是3
break;
}
}
printf("%d",m);
//所以结果为3
}
综上,结果为打印一个
3
如果我的回答对你有帮助,那么我也很高兴:)