我使用的代码非常简单break
内部循环:
for (int it=0; it<5; it++) {
for (int it2=0; it2<5; it2++) {
if (it2==2)
break; //break here not it2, but it loop
NSLog(@"it=%d it2=%d", it, it2);
}
}
我收到一个输出:
it=0 it2=0, it=0 it2=1,
it=1 it2=0, it=1 it2=1,
it=2 it2=0, it=2 it2=1,
it=3 it2=0, it=3 it2=1,
it=4 it2=0, it=4 it2=1
我知道在某些编程语言中可以确定哪个循环中断语句应该影响。可以打电话吗break
停止外循环(for
with it
多变的)?
如果你真的想这样做,那就硬着头皮使用goto
.
for (int it=0; it<5; it++) {
for (int it2=0; it2<5; it2++) {
if (it2==2)
goto end_outer_loop;
NSLog(@"it=%d it2=%d", it, it2);
}
}
end_outer_loop:
// more stuff here.
这是合法的goto
(大多数 goto 中downward方向是)。实际上break
是一种特殊的“认可”goto,并且因为 C 是一种最小语言,所以在复杂情况下必须使用显式 goto。
However正如这里很多人指出的那样,如果你能使用的话那就更好了return.
你不应该扭曲你的程序只是为了避免转到,但在大多数情况下,这表明您的函数变得过于复杂,因此应该分解。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)