切换多个案例的陈述

时间:2017-11-16 01:14:00

标签: c switch-statement

enter image description here

任何人都可以告诉我标记部分的目的是什么? (source

我知道我们可以使用下面的多个案例陈述

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

1 个答案:

答案 0 :(得分:2)

它们实际上是常规标签,可用作goto cyan;的目标。也就是说,您可以在函数中的某处写cyan:,它会跳转到开关内的标签case cyan: case green: case magenta: …

他们可能是一个思想错误 - 他们可能是案例标签switch。请注意,defualt:中的一个典型错误是引入标签default:而不是foreground = blue;标签。

在图像中的代码看起来有点困难,它的布局非常糟糕。在case white:赋值之后,有一个switch标签不在switch (background)语句的范围内,因此这是一个语法错误。并且{   }后面跟switch所有内容都排在一行,因此case black:中没有代码,switch标签也不在enum colors之内因此也是语法错误。

可以想象,在文本下部的中间有一个页面向下折叠,在这种情况下,好奇while true do echo "------->" mpirun --mca orte_base_help_aggregate 0 -np 2 python3 -m mpi4py ./go.py echo "<------" done 在折叠线上展开。然而,代码在某种程度上是有道理的。

如果代码全部在一个页面上并且“格式化”,那么它就是怪诞的。

如果这不是一个孤立的深层代码示例,那么你现在应该抛弃这本书。我的意思是最诚挚的 - 一本包含这个烂摊子的书不值得蹲下。你不会知道什么时候教会你什么有用的,什么时候教你完全垃圾。不要冒风险;把它扔掉。 (如果你的老师写了这本书,现在改变课程。)