今天在一个超长函数里面看到了类似下面的语句
时间:2010-08-09 来源:yayapa
for (int i = 0; i < 5; i++)
{
switch (i)
{
case 4:
{
printf("4\n");
break;
{
case 1:
printf("1\n");
break;
}
}
case 2:
printf("2\n");
break;
}
}
输出:
1
2
4
一开始看到这个结构的时候,以为代码写错了,因为毕竟那个case分支有几百行,弄错一个括号也是有可能的。结果简化测试了一下还真能工作。 不知道哪位C语言的仙人能解释解释。
{
switch (i)
{
case 4:
{
printf("4\n");
break;
{
case 1:
printf("1\n");
break;
}
}
case 2:
printf("2\n");
break;
}
}
输出:
1
2
4
一开始看到这个结构的时候,以为代码写错了,因为毕竟那个case分支有几百行,弄错一个括号也是有可能的。结果简化测试了一下还真能工作。 不知道哪位C语言的仙人能解释解释。
相关阅读 更多 +