1

有谁知道没有中断的 switch 语句的“技术名称”?

我翻了几本教科书,在网上搜索了很长时间,没有结果。

4

3 回答 3

2

一个没有中断的 switch 语句(也没有循环,所以它不是 Duff 的设备),我只会调用一个jump table

可以肯定的是,这不是结构化编程常用的工具之一。

于 2010-10-12T00:13:42.063 回答
0

跌倒?

还是您在谈论一个没有中断的特定 switch 语句,称为Duff's Device

send(to, from, count)
register short *to, *from;
register count;
{
    register n=(count+7)/8;
    switch(count%8){
        case 0: do{ *to = *from++;
        case 7:     *to = *from++;
        case 6:     *to = *from++;
        case 5:     *to = *from++;
        case 4:     *to = *from++;
        case 3:     *to = *from++;
        case 2:     *to = *from++;
        case 1:     *to = *from++;
        }while(--n>0);
    }
}
于 2010-10-12T00:12:23.547 回答
0

当从一个 Case 子句继续执行到下一个 Case 子句时,称为“失败”。

switch (i) {
    case 1:
        // do something

    case 2:
        // do something else
        break;

    case 3:
        // do another thing
}

从案例 1 到案例,执行将“失败”,但不会从案例 2 到案例 3。这是您要问的吗?

于 2010-10-12T00:12:44.250 回答