【问题标题】:Switch statement syntax for same action through different cases不同情况下相同操作的 Switch 语句语法
【发布时间】:2013-02-25 16:57:04
【问题描述】:

两个常量 (1+2) 共享相同的 case 语句。我不想加倍代码。

执行此操作的正确语法是什么?

switch (expression) {
        case 0:
            [self taskA];
            break;
        case 1:
            [self taskB];
            break;
        case 2:
            [self taskB]
            break;
        default:
            break;
    }

【问题讨论】:

    标签: objective-c c switch-statement


    【解决方案1】:

    使用:

    switch (expression) {
        case 0:
            [self taskA];
            break;
        case 1:
        case 2:
            [self taskB];
            break;
        default:
            break;
    }
    

    编辑 1:

    switch 中,我们说一个称为fall-through 的术语。每当控制到达标签时说case 0:,它就会下降,直到找到break。在break 上,控制被发送到switch 的右大括号。

    如果没有遇到break,它将转到下一个case,如case 然后case 2。所以上面case 1case 2共享一个break声明。

    【讨论】:

      【解决方案2】:

      如果在 case 结束时没有使用 break 或 return,则多个 case 标签可以引用同一个语句。 如果在 case 1 中不使用 break 语句,则执行会进入 case 2。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-11-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多