“继续”或“休息”后将执行哪个陈述?
for(int i = 0; i < count; ++i)
{
// statement1
for(int j = 0; j < count; ++j)
{
//statement2
if(someTest)
continue;
}
//statement3
}
for(int i = 0; i < count; ++i)
{
// statement1
for(int j = 0; j < count; ++j)
{
//statement2
if(someTest)
break;
}
//statement3
}
答案 0 :(得分:22)
继续:++j
,然后j < count
,然后statement2
,否则statement3
休息:statement3
答案 1 :(得分:20)
继续直接跳到最里面循环的顶部,在那里将执行每次迭代代码和连续性检查(for
循环的第3和第2部分)。
在最内层循环之后立即跳转直接跳转而不改变任何东西。
可能更容易想到前者跳到最里面的环的闭合支撑,而后者跳到它的正上方。
答案 2 :(得分:10)
continue
结束当前迭代,实际上它与:
for(int i = 0; i < count; ++i)
{
// statement1
for(int j = 0; j < count; ++j)
{
//statement2
if(someTest)
goto end_of_loop;
end_of_loop:
}
//statement3
}
break
退出循环:
for(int i = 0; i < count; ++i)
{
// statement1
for(int j = 0; j < count; ++j)
{
//statement2
if(someTest)
goto after_loop;
}
after_loop:
//statement3
}
答案 3 :(得分:2)
Continue
:这取决于。 continue语句将执行for循环的'increment'部分,然后执行'test'部分,然后决定是执行下一次迭代还是离开循环。
所以它可以是陈述2或3。
Break
:声明3。
答案 4 :(得分:2)
statement2将在continue之后执行。
statement3将在休息后执行。
'continue'(顾名思义)继续循环,同时跳过当前迭代中的其余语句。
'break'中断并退出循环。
答案 5 :(得分:-1)
对于继续,使用新的i,j值i,j + 1执行innerloop
对于休息,使用新的i,j值i + 1,0执行内部循环
如果满足边界条件