【发布时间】:2021-04-02 08:21:41
【问题描述】:
我正在思考我为 4 个互斥情况编写的 switch 语句。我在每个案例的末尾插入了一个 break 语句,因为我不想在一个案例或另一个案例成功后再次进行测试。
这是一个问题。如果有的话,最后一次休息会做什么?如果测试用例 43 成功,则 break 终止 case,但如果没有 break,则默认不应运行,因此无论如何都不会浪费测试。
代码如下:
switch(telemetry) {
case(40):
printf("\nHouse Telemetry #%i \n", psc);
break;
case(41):
printf("\nNav Telemetry #%i \n", psc);
break;
case(42):
printf("\nDownhill Telemetry #%i \n", psc);
break;
case(43):
printf("\nRealTime Telemetry #%i \n", psc);
break; // what do I do?
default:
printf("\nCommand ID not recognized\n");
}
也许你们中的一位编译器大师可以给我建议。
【问题讨论】:
-
如果后面没有语句,默认不需要break语句。
-
break不是关于你是否重做 测试(它永远不会重做),而是关于你是否陷入下一个案例。 -
始终添加
break是一个好习惯。查找缺少中断的运行时错误是一件痛苦的事(祖父建议)
标签: c switch-statement default