我刚刚在我维护的一些代码中发现了以下部分:
switch (m) {
case 62: { // opening
// some declarations
// do some stuff
break;
case 63:
// do some other stuff
break;
} // closing
default:
// default stuff
break;
}
块开头是为了声明一些局部变量,但右大括号被错误放置并出现在case 63
.
几个月来我从未注意到这一点,因为它在 Visual Studio 2010 中编译得很好。我试过调试它,两种情况都很好。
怎么可能 ?这是正确的 C 语法吗?