15

「続行」または「中断」の後に実行されるステートメントはどれですか?

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                                                                                                                                                                                                                           
 }
4

6 に答える 6

24

続行:++jその後、j < countそれstatement2以外の場合statement3

壊す:statement3

于 2011-06-16T06:56:36.280 に答える
22

継続ジャンプは、最も内側のループの先頭に直接ジャンプします。ここで、反復ごとのコードと継続性のチェックが実行されます(forループのセクション3と2)。

Breakは、何も変更せずに、最も内側のループの直後に直接ジャンプします。

前者が最も内側のループの閉じブレースにジャンプし、後者がそのすぐ先にジャンプすることを考える方が簡単かもしれません。

于 2011-06-16T06:56:27.483 に答える
11

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                                                                                                                                                                                                                           
 }
于 2011-06-16T06:59:22.787 に答える
2

Continue: 場合によります。continueステートメントは、forループの「increment」部分を実行し、次に「test」部分を実行してから、次の反復を実行するか、ループを終了するかを決定します。したがって、ステートメント2または3である可能性があります。

Break:ステートメント3。

ところで、これは宿題ですか?

于 2011-06-16T06:57:35.960 に答える
2

ループが最後の反復になかった場合、statement2は続行後に実行されます。

statement3は、ブレーク後に実行されます。

'continue'(名前が示すように)は、現在の反復の残りのステートメントをスキップしながら、ループを続行します。

'break'は中断し、ループを終了します。

于 2011-06-16T06:58:27.680 に答える
-1
  1. 続行する場合、innerloopはi、j + 1の新しいi、j値で実行されます

  2. ブレークの場合、innerloopはi + 1,0の新しいi、j値で実行されます

もちろん、境界条件が満たされている場合

于 2011-06-16T06:59:33.190 に答える