main()
{int x=1,y=0,a=0,b=0;
switch(x)
{case 1:switch(y)
{case 0:a++;break;
case 1:b++;break;
}
case 2:a++;b++;break;
}
printf("%d" %d\n",a,b);
}
写出详细的解题过程,谢谢了。
请尽快告诉我怎么没做~~thank you~
main()
{int x=1,y=0,a=0,b=0;
switch(x)
{case 1:switch(y)
{case 0:a++;break;
case 1:b++;break;
}
case 2:a++;b++;break;
}
printf("%d" %d\n",a,b);
}
写出详细的解题过程,谢谢了。
请尽快告诉我怎么没做~~thank you~
首先判断x的值,因为x=1,所以执行switch(y){case 0:a++;break;case 1:b++;break;},又因为y=0,所以a++,这是a=1,因为在switch(y){case 0:a++;break;case 1:b++;break;}后面没有break,所以接下来执行
case 2:a++;b++;break;最后打印输出。所以a=2,b=1
main()
{
int x=1,y=0,a=0,b=0;
switch(x) //判断x的值
{
case 1: //当x等于1的时候
switch(y) //再判断y的值
{
case 0:a++; //当y等于0的时候,执行a++
break; //跳出switch
case 1:b++; //当y等于1的时候,执行b++
break; //跳出switch
}
case 2: //当x等于2的时候
a++;b++; //执行a++,b++
break; //跳出switch
}
printf("%d" %d\n",a,b); //输出结果
}
程序到switch时x的值是1执行case1 case1后面又是个switch但是y的值是0所以case0 就是a++ a的值就被改变成1然后break跳出拉里面个switch然后执行case2 就是a++ b++ a的值就是2 b的值就是1 然后break
跳出外面个switch 执行printf 打印出a和b 的值
谢谢
switch(x) //是判断这个变量
case 1: //当这个变量为1时,就执行……
case 0: //为0时就执行……