int x=1,a=0,b=0;switch (x){case 0:b++;case 1:a++;case 2:a++;b++;} printf("%d,%d",a,b);为啥是2,1 我算的是1,0
来源:学生作业帮助网 编辑:作业帮 时间:2024/06/30 09:33:33
![int x=1,a=0,b=0;switch (x){case 0:b++;case 1:a++;case 2:a++;b++;} printf(](/uploads/image/z/5161545-9-5.jpg?t=int+x%3D1%2Ca%3D0%2Cb%3D0%3Bswitch+%28x%29%7Bcase+0%3Ab%2B%2B%3Bcase+1%3Aa%2B%2B%3Bcase+2%3Aa%2B%2B%3Bb%2B%2B%3B%7D+printf%28%22%25d%2C%25d%22%2Ca%2Cb%29%3B%E4%B8%BA%E5%95%A5%E6%98%AF2%2C1+%E6%88%91%E7%AE%97%E7%9A%84%E6%98%AF1%2C0)
int x=1,a=0,b=0;switch (x){case 0:b++;case 1:a++;case 2:a++;b++;} printf("%d,%d",a,b);为啥是2,1 我算的是1,0
int x=1,a=0,b=0;switch (x){case 0:b++;case 1:a++;case 2:a++;b++;} printf("%d,%d",a,b);
为啥是2,1 我算的是1,0
int x=1,a=0,b=0;switch (x){case 0:b++;case 1:a++;case 2:a++;b++;} printf("%d,%d",a,b);为啥是2,1 我算的是1,0
switch 语句中,case只是找到入口点,从该入口点开始所有的case都会执行,通常说它具有穿透性,如果想只执行某个case下面的代码,要在后面加上break,表明中断处理.
#include
int main()
{
int x=1,a=0,b=0;
switch (x)
{
case 0:
b++;
case 1://x=1,所以,从这里入口开始往下执行
a++;//a变成1
case 2:
a++;//a变成2
b++;//b变成1
}
//最后输出为2,1
printf("%d,%d",a,b);
return 0;
}
//加上break语句就会中断处理了,如:
int x=1,a=0,b=0;
switch (x)
{
case 0:
b++;
break;
case 1://x=1,所以,从这里入口开始往下执行
a++;//a变成1
break;//中断
case 2:
a++;
b++;
break;
}
这时候算出来的结果就是1,0了.