c ++继续与休息

时间:2011-06-16 06:54:59

标签: c++ break continue

“继续”或“休息”后将执行哪个陈述?

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                                                                                                                                                                                                                           
 }

6 个答案:

答案 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)

  1. 对于继续,使用新的i,j值i,j + 1执行innerloop

  2. 对于休息,使用新的i,j值i + 1,0执行内部循环

  3. 如果满足边界条件