C语言Switch语句

提示:我知道下面的语句错误

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没有初始化