我在C,而不是C ++中这样做。无论如何,如果我在for循环中放入一个break语句,它会仅停止for循环还是同时停止for和while循环?例如,这是我的代码中包含while和for的部分。我正在做的是让用户输入24小时的时间,我正在检查这个循环中的分钟(希望这是正确的)。我关心的是break语句只会结束for循环,还是会结束for和while,因为我只希望for循环结束。
boolean check = false;
while (!check){
int i;
for (i = 1; i < 24; i++)
{
int hour = i*100;
/* if the time has less hours than the hour counter*/
if ((hour - timeOfDay) < 100)
{
/*declare an illegal time when the number of minutes remaining*/
/*is greater than 59*/
if ((hour - timeOfDay) > 59)
{
check = false;
break;
}
}
}
}
答案 0 :(得分:13)
它只会破坏内部for
循环,而不会破坏外部while
循环
在发布问题之前,您可以使用简约代码示例对此进行测试。我猜它会花费相同的时间来构建Q.
答案 1 :(得分:5)
从C标准:(第6.8.6.3节)
<强>约束强>
break语句只能出现在开关体或循环体中。
<强>语义强>
break语句终止执行最小的封闭开关或迭代 言。
答案 2 :(得分:1)
如果你把它放在for
循环中,它将只停止/打破for
循环。
答案 3 :(得分:0)
当break
执行时,程序停止执行它下面的其他语句,并且只是在loop
之外,并从存在break
的循环体之后的语句开始。
在这种情况下,它将从内部for
循环中出来。
如果你想做一些演示只需在(eg printf("outside inner loop");)
循环的结束大括号之后放一个语句for
。
然后你会看到该语句的执行。