实际工作上遇到的一段代码,不敢独享。直接上代码——
//以下为switch测试
int i = 1;
switch (i)
{
case 1:
{
TRACE("1\n");
break;
case 2:
TRACE("2\n");
break;
default:
TRACE("Other\n");
break;
}
}
【测试】
1. 这段代码vs2008中可以编译通过吗?
2. 如果可以通过的话,DEBUG模式中输出是什么?
case1后的花括号直到switch结束时才结尾,直觉上一定不会通过编译的。
原因未知,不过实机测试结果为——
1. 可以。
2. 输出1后换行。
本文探讨了一个在实际工作中遇到的switch代码片段,分析了其在VS2008中的编译通过情况及DEBUG模式下的输出行为。特别指出,尽管代码存在语法上的不规范,即花括号未正确闭合,但实机测试结果显示,该代码仍能通过编译并正确输出1后换行。
1257

被折叠的 条评论
为什么被折叠?



