在 C switch-case
流程控制中,如果在 case
中定义变量,则需要在 case
那个街区。
无论变量声明如何,在每个 case
之后放置花括号是否是一种不好的做法?
例如:
switch(i) {
case 1: {
int j = 4;
...code...
} break;
case 2: { //No variable being declared! Brace OK?
...code...
} break;
}
最佳答案
在每个 case block 中使用大括号当然不是无效的,也不一定是不好的风格。如果由于变量声明而导致某些 case block 带有大括号,则在其他 case block 中添加大括号可以使编码风格更加一致。
话虽如此,在直接 C 的 case block 内声明变量可能不是一个好主意。虽然您的编译器可能允许这样做,但可能有更简洁的解决方案。互斥的 case block 可能能够共享几个公共(public)临时变量,或者您可能会发现您的 case block 作为辅助函数会更好地工作。
关于C 每个案例后的 Switch-case 花括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4241545/