gpt4 book ai didi

c - 嵌套的 case 语句

转载 作者:太空宇宙 更新时间:2023-11-04 06:40:20 24 4
gpt4 key购买 nike

有人可以解释一下 case 语句的嵌套吗?我指的是 Duffs Device其中所有其他 case 语句都在与 case 0 关联的 do-while 循环内。我无法理解它。在我看来,它应该像嵌套的 if 一样工作。但后来我肯定错过了一些东西。请解释。

最佳答案

switch-case 构造中,switch 主体只是一个普通或复合语句,可以包含任何其他有效的 c 语句。它还可能包含 casedefault 标签。
并且控件根据控制表达式值跳转到适当的 case 标签,switch 主体中的语句像任何其他范围 { } 一样一个接一个地执行,除非 break 遇到了。

例如,考虑以下 simple test program :

#include<stdio.h>
int main()
{
int i = 6;//5,10;
switch(6)
{
case 10:
printf("\nIn case 10");
case 11:
printf("\nIn case 11");
case 12:
printf("\nIn case 12");
break;
case 5:
printf("\nIn case 5");
break;
case 6:
printf("\nIn case 6");
default:
printf("\nIn Default");

}

return 0;
}

考虑 switch 语句中控制表达式 i 的 3 个值:

5   
6
10

结果输出如下:
场景 1: i = 6

In case 6
In Default

场景 2: i = 10

In case 10
In case 11
In case 12

场景 3: i = 5

In case 5

请注意,在上述每种情况下,一旦遇到匹配的 case 标签,语句就会按顺序执行,直到遇到 break,从而得出结论是答案中的第一个语句。

关于c - 嵌套的 case 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9416074/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com