【发布时间】:2013-07-27 00:41:25
【问题描述】:
我有一个类似这样的程序:
switch(x)
{ case 1:
for(i=0; i<10; i++)
{
if ((i==3) || (i==4) || (i==5) || (i==6) || (i==7))
{
if (foobar[i])
break; // i am talking about this break
}
}
...further program
break; /not this break
如果foobar[i] 为真,程序会跳出case 标签或for 循环吗?
【问题讨论】:
-
为什么不自己测试一下呢?
-
您是否构建了一个测试用例并且对结果感到困惑?这很简单,您可以自己尝试。
-
什么语言有多个中断选项?是计划吗?
-
@AntP,C++ 不是你可以只测试代码的语言。
-
编译器将你的程序变成一个解析树。解析树中的所有内容都有一个父节点,除了根节点。 break 语句必须在树的某处有一个父循环。在您的代码中,break 的父级是 for-loop
标签: c switch-statement break subroutine