是否可以在案例陈述中进行OR?

Fal*_*ata 4 c syntax switch-statement

我想做的事情如下:

case someenumvalue || someotherenumvalue:
    // do some stuff
    break;
Run Code Online (Sandbox Code Playgroud)

这在C中合法吗?

我正在进行切换的变量是枚举列表数据结构.

pb2*_*b2q 12

您可以依赖这样一个事实:case语句将没有break:

case SOME_ENUM_VALUE:  // fall-through
case SOME_OTHER_ENUM_VALUE:
    doSomeStuff();
    break;
Run Code Online (Sandbox Code Playgroud)

您也可以在更复杂的情况下使用它,其中两个值都需要共享工作,但其中一个(或多个)还需要特定的工作:

case SOME_ENUM_VALUE:
    doSpecificStuff();
    // fall-through to shared code
case SOME_OTHER_ENUM_VALUE:
    doStuffForBothValues();
    break;
Run Code Online (Sandbox Code Playgroud)