查看一些第 3 方 C 代码时,我遇到了类似的情况:
switch (state) {
case 0:
if (c=='A') { // open brace
// code...
break; // brace not closed!
case 1:
// code...
break;
} // close brace!
case 2:
// code...
break;
}
在我正在审查的代码中,这似乎只是一个错字,但我很惊讶它编译时没有出错。
为什么这是有效的 C?
与在预期位置关闭大括号相比,此代码的执行有什么影响?
有什么情况可以使用吗?
编辑:在示例中,我查看了所有中断(如上所述)-但答案也可能包括如果在情况 0 或 1 中不存在中断的行为。