switch case 嵌套

switch嵌套语句的一般形式:

switch(表达式)

case常量1:语句1

case常量2:switch(表达式)

{case常量1:语句1

case常量2:语句2

......

case常量n:语句n

default:语句n+1

}

.....

case常量n:语句n

default:语句n+1

扩展资料

在使用switch语句注意事项:

1、在case后的各常量表达式的值不能相同,否则会出现错误。

2、在case后,允许有多个语句,可以不用{}括起来。

3、各case和default子句的先后顺序可以变动,而不会影响程序执行结果。

4、default子句可以省略不用。

就是在第一个switch的某个case语句或default语句中进行嵌套。

例如:

int a=4,i=0;

switch(a)

{

case 1: 

{

printf("abc");

break;

    }

case 2: 

{

printf("abcd");

        break;

}

case 3: 

{

i++;

switch(i)  // switch语句中嵌套switch语句

{

case 1: printf("fff");break;

case 2: printf("111");break;

default: printf("222");

}

break;

}

default :

printf("error");

}

扩展资料:

注意事项

1、witch后面括号里的结果必须是×××值。因为这个值是要和case语句后面直接跟的常量表达式进行匹配的。

2、break在switch case语句中主要是将语句划分成不同的部分,方便匹配后跳出switch语句。

3、default的位置并不是固定的。为了使程序正常运行,它放在case之间的时候,后面必须跟上break语句;如果放在最后,可以跟break语句,也可以不跟。

4、不是所有case语句最后都跟有break。我们起初见到的代码里,基本上每个case最后都跟有break,它是指当switch后面括号里的表达式与哪一个case后面的常亮表达式匹配时,直接进入这个case,执行完里面的语句后,遇到break,直接退出整个switch case语句。

实际当中,我们还会碰到类似于上述代码的情况(不是所有case语句最后都跟有break),这个时候,程序总是从匹配的case执行,直到遇到break或者程序走到最后的default结束,退出switch case语句。 

printf("please input second letter\n");
letter =getchar(); // 把这句抽出来放在 if 以前;
if (letter ==a) {...}
else if (letter == u){...}
else {...};
-----------------
不抽出来的话,那么 每进一层 else if , 就会又执行 一句 getchar(); 要求 你再输入一个字符,
字符次序就乱了。

switch中嵌套switch就是在第一个switch的某个case语句或default语句中进行嵌套。


下面以switch嵌套在case语句中进行举例说明。

int a=4,i=0;
switch(a)
{
    case 1: 
    {
        printf("abc");
        break;
    }
    case 2: 
    {
        printf("abcd");
        break;
    }
    case 3: 
    {
        i++;
        switch(i)  // switch语句中嵌套switch语句
        {
            case 1: printf("fff");break;
            case 2: printf("111");break;
            default: printf("222");
        }
        break;
    }
    default :
        printf("error");
}
第二次getchar()获取的是第一次getchar()的回车(\n), 因为你第一次输入2后, 要回车, 而这个回车(0x0a)也在输入缓冲区内, 没有被吃掉, 结果就是内switch两个case都不成立, 而且你外switch的case2没有break, 导致case3 直接条件成立 , 程序结束.

尽量少用scanf, getchar这种函数, 有陷阱, 初学者很容易莫名其妙的错误..
喜欢阅读
  • 顾少的暴力娇妻

    顾少的暴力娇妻

    黑市拳击手一朝重生,竟和顾家少爷牵扯不清。“温柔点!”“我不会!”

  • 娇妻敛爱:总裁冷暖皆宜

    娇妻敛爱:总裁冷暖皆宜

    她是出身富家,却受尽欺负,被人认为是私生女的大小姐;他是出身豪门,却被外界传言身体有恙,不能人道的大少爷。阴差阳错之下,“丑陋”的她嫁给了“患病”的他。那个帅气的男人不可能是霍成楠吧?这个丑陋的女人就是被霍家吹得天花乱坠的叶靖雪?他突然生出想要戏弄她的心思,一人分饰两角,假装自己是并不存在的弟弟戏谑她。“‘嫂子’,我‘哥哥’不能人道,你不知道,嗯?”看着放大的俊颜,她又羞又恼:“不,你不要这样……”

  • 寒冰总裁娇柔妻

    寒冰总裁娇柔妻

    恨,数不清的恨意如烈火般强烈地灼烧着神经,凌风筱贱只觉得体内像是有头猛兽不停地咆哮着,怒吼着,而后终于承受不住怒意般地撞开了束缚的牢笼。他拽紧了拳头,倏地砸向了墙壁,又是一声震耳欲聋的撞击声……葛霖,你就是这样对待我的信任!葛霖,你就是这样挑战我的底线!葛霖,你就是这样恶化我们之间的关系!很好,既然如此,那我就成全你!

  • 天降财运

    天降财运

    前十八年,江城穷得靠捡破烂为生,直到十八岁生日那天家族禁令解除!有朝一日龙得水,必令长江水倒流!

  • 岐黄至尊

    岐黄至尊

    他是享誉盛名的医道圣手,七针断生死;他是赫赫有名的武道宗师,一人破千军!他身怀绝学,翻手为云覆手为雨!从大山里走出来的萧南,携《长生诀》纵横都市,傲视天下!

  • 富婿上门

    富婿上门

    失去记忆的王浩,稀里糊涂的成了上门女婿,洞房花烛夜跟新娘睡在一起的却另有其人!

  • 警花娇妻:总裁的欢喜冤家

    警花娇妻:总裁的欢喜冤家

    拆弹专家遇到一点就炸的大总裁,肿莫破?首先可以肯定的是,这里不能剪,那里也不能剪。又不能同归于尽。这就是在为难我静香……苏语凡看着眼前黑脸的大总裁,蹙了蹙眉:既然拆不了,那就……浇灭他喽。大总裁:……

  • 冷王绝宠俏妃颜

    冷王绝宠俏妃颜

    白倩羽媚笑:“王爷,你练的是金剑还是银剑?”宸王:“银剑!”白倩羽别有深意的笑:“那王爷,你是上路剑还是下路剑?”宸王:“下剑!”白倩羽一脸敬佩脸:“哦!王爷原是银剑下剑之人啊!”宸王黑面:“我现在教你什么叫银剑!”遇她前,宸王爷冷心冷面、狠绝桀骜是杀伐决断冷王爷。遇她后,宸王宠妻护短成日常。宸王一脸傲娇的斜睨众臣:“王妃她温良贤淑,娇小可人!”大臣们面面相窥:“王妃把蜀国给灭了!”宸王暖笑:“王妃她谦和大度,知书达理,是女子典范!”众女抱作一团:“王妃,打脸、撕人,从不手软!”独孤冷宸:“王妃她针织女红技艺精湛!”众人们尴尬一笑:“宸王爷,脸是好东西,麻烦要一下!”

  • 猜你喜欢
  • switch case嵌套
  • switchcase嵌套用法
  • switch嵌套会执行所有case吗
  • switch 嵌套case break
  • switchcase可以嵌套吗
  • 跳出switch case嵌套
  • switchcase后接逗号
  • switchcase里面套if
  • switchcaseswitch类型
  • switch 1-2玩法介绍
  • 热门推荐
  • 日本重囗味熟妇coM
  • 咳出黑色硬痰
  • 我和僵尸有个约会1在线
  • 美国自由女神图片
  • MicroWIN
  • 雅戈尔 代工
  • 优渔鱼塘是个什么平台
  • python 复制目录
  • 你为什么这样说用英语
  • timo bolte
  • ign gta4
  • activity切换动画
  • 贵宾犬如何剪毛
  • www.lonlife.cn
  • 客厅朝北是好户型
  • s7 edge g935f
  • 不搭架的豆角图片
  • 霹雳风云录隐漫画
  • 戴尔游匣bios风扇转速
  • jquery和servlet
  • All Right Reserved 资料库