1

在 C++ 中是否可以执行以下操作?

switch (value) {
   case 0:
      // code statements
      break;
   case 1:
   case 2:
      // code statements for case 1 and case 2
      /**insert statement other than break here
       that makes the switch statement continue
       evaluating case statements rather than
       exit the switch**/
   case 2:
      // code statements specific for case 2
      break;
}

我想知道是否有办法让 switch 语句即使在遇到匹配的情况后也继续评估其余的情况。(如continue其他语言的声明)

4

3 回答 3

4

简单的怎么样if

switch (value)
{
case 0:
    // ...
    break;

case 1:
case 2:
    // common code
    if (value == 2)
    {
        // code specific to "2"
    }
    break;

case 3:
    // ...
}
于 2013-08-30T00:05:24.633 回答
2

一旦确定了案例标签,就无法switch继续搜索其他匹配的标签。您可以继续处理以下标签的代码,但这并不能区分到达标签的不同原因case。所以,不,没有办法继续选择。事实上,caseC++ 中禁止重复标签。

于 2013-08-30T00:04:00.120 回答
1

是的,只是不要休息。它自然会落入其他 switch 语句。

于 2013-08-29T23:58:11.843 回答