#include <stdio.h>
int main( )
{
int x=1, y=1, z=1;
switch(x)
{
case 1:
switch(y)
{
case 1: printf("!!"); break;
case 2: printf("@@"); break;
case 3: printf("##"); break;
}
case 0:
switch(z)
{
case 0: printf("$$");
case 1: printf("^^");
case 2: printf("&&");
}
default: printf("**");
}
return 0;
}
会输出
!!^^&&**
switch()中如果没有用break跳出会连续执行之后所有 case 内的代码
执行过程看注释
#include <stdio.h>
int main( )
{
int x=1, y=1, z=1;
switch(x)
{
case 1: //x是1 从这里开始执行
switch(y)
{
case 1: printf("!!"); break; //y是1 执行printf("!!");
//并用break 跳出switch(y)语句块,到A处继续执行
case 2: printf("@@"); break;
case 3: printf("##"); break;
}
// A处 没有用break跳出会连续执行之后 case 内的代码
case 0:
switch(z)
{
case 0: printf("$$");
case 1: printf("^^"); //z是1 从这里开始执行
case 2: printf("&&"); //没有用break跳出会连续执行之后 case 内的代码
}
default: printf("**"); //没有用break跳出会连续执行之后 case 内的代码
}
return 0;
}
如有帮助,望采纳!谢谢! 点击我这个回答右上方的【采纳】按钮