提示:我知道下面的语句错误
Switch语句中能不能再包一个Switch?
#include"stdio.h"
int main()
{
int a,b;
scanf("%d",&a);
switch(a)
{
case 1:
{
switch(b)
{ /*我想在Switch(a)里面再添加一个Switch(b)*/
case 1:break;
}
}
case 2:
case 3:printf("Hello Wolrd\n");break;
}
}
switch当然可以嵌套,跟for循环差不多,我这里有一段比较复杂的嵌套代码,你看看能否看懂
#include <stdio.h>
#include <string.h>
void main() {
//星期一到星期三就输出AAA,星期四到星期五就输出BBB,周末就输出CCC
char week[50] = "";
printf("请输入一个星期:\n");
scanf("%s",week);
int num = !strcmp(week, "星期一") || !strcmp(week, "星期二") || !strcmp(week, "星期三");
switch (num)
{
case 1:
printf("AAA");
break;
case 0:
switch (!strcmp(week, "星期四") || !strcmp(week, "星期五"))
{
case 1:
printf("BBB");
break;
default:
switch (!strcmp(week, "星期六") || !strcmp(week, "星期天"))
{
case 1:
printf("CCC");
break;
default:
printf("输入格式错误");
break;
}
break;
}
default:
break;
}
}
可以,但你的b没有初始化