[英]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.