比方说,我有这样的代码:'继续'如何在'为'中,在另一个'为'?
for (...;...;...){
for (...;...;...){
if (...){
...
continue;
...
}
}
}
(“...”是一些一段代码,没有真正的问题是什么)
当程序获取到‘继续’ ,它会回到外部还是内部?
比方说,我有这样的代码:'继续'如何在'为'中,在另一个'为'?
for (...;...;...){
for (...;...;...){
if (...){
...
continue;
...
}
}
}
(“...”是一些一段代码,没有真正的问题是什么)
当程序获取到‘继续’ ,它会回到外部还是内部?
它看起来像以下方式
for (...;...;...){
for (...;...;...){
if (...){
...
goto continue;
...
}
continue:;
}
}
按照C标准(6.8.6.2 continue语句)
2 continue语句导致跳转到循环延续部 最小封闭迭代语句;也就是循环体的末尾 。更准确地说,在每个语句的
while (/* ... */)
{
/* ... */
continue;
/* ... */
contin: ;
}
do
{
/* ... */
continue;
/* ... */
contin: ;
} while (/* ... */);
for (/* ... */)
{
/* ... */
continue;
/* ... */
contin: ;
}
除非所示的继续语句是在一个封闭的迭代 声明(在这种情况下它是语句中解释),它 相当于转到CONTIN ;。
所以如果还有一个'for'它会去最外面的一个?或者你的意思是程序继续写在'继续'的地方吗? –
@AniaZdanowicz查看我更新的帖子。 –
好的,谢谢! –
内在的一个。它总是最内层的循环。许多语言给你一个像“休息2”/“继续2”的方式来跳转两个层次,并继续与外部。
因此,继续你去'while'或'for'的顶部,那'与你最接近','最内部'可以是? –
最接近你的是,完全是。你可以从“继续”开始向上走,你打的第一个循环就是跳跃的位置。 – dkellner
非常感谢你! –
inner for loop。 –