繁体   English   中英

多个案例的switch语句

[英]Switch statement for multiple cases

在此处输入图片说明

谁能告诉我标记部分的目的是什么? 来源

我知道我们可以使用如下的多案例语句

case black:
printf ("black\n");
break;    
case blue:
case cyan:
case red:
printf("blue");
break;

它们实际上是常规标签,可用作goto的目标。 也就是说,您可以编写goto cyan; 函数中的某个位置,它将跳到开关内的标签cyan:

它们很可能是个thinko错误-它们可能打算用作大小写标签case cyan: case green: case magenta: … 请注意, switch中的经典错误之一是引入标签defualt:而不是default:标签default: label。


仔细查看图像中的代码,它的布局非常糟糕。 foreground = blue; 分配时,会有一个case white:case white: label不在switch语句的范围内,所以这是语法错误。 switch (background)后跟{ }都在一行上,因此switch没有代码, case black:case black:标签也在任何switch之外,因此也存在语法错误。

可以想象的是,在文本下部的中间向下折叠了一页,在这种情况下,奇怪的是enum colors散布在折叠线上。 但是,代码具有某种意义。

如果代码全部都在一页上并且像这样“格式化”,那就太奇怪了。

如果这不是一个糟糕透顶的代码的示例,那么您现在应该扔掉这本书。 我的意思是最诚挚的-一本包含乱七八糟的书是不值得的。 您将不知道何时它在教您什么有用的东西以及何时在教您完成垃圾。 不要冒险! 把它扔掉。 (如果您的老师写了这本书,请现在换课。)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM