スイッチ内からループを抜け出す
C では、switch ステートメント内からループを抜け出す必要がある場合があります。提供されたコード スニペットでは、ユーザーはメッセージの状態が DONE に設定されたときにループを終了したいと考えています。
goto ステートメントを使用する
最も簡単な方法これを実現するには、以下のコードに示すように、goto ステートメントを使用します。
<code class="c++">while ( ... ) { switch( ... ) { case ...: goto exit_loop; } } exit_loop: ;</code>
この例では、状態が DONE に設定されている場合、goto ステートメントはラベル exit_loop にジャンプし、事実上両方のループから抜け出します。 switch ステートメントと while ループ。
フラグ変数の使用
別のアプローチは、フラグ変数を使用することです。これは、switch ステートメント内で目的の条件が満たされた場合に true に設定されるブール変数にすることができます。 switch ステートメントの後の flag 変数をチェックすることで、ループを中断できます。
次に例を示します:
<code class="c++">bool should_exit = false; while ( ... ) { switch( ... ) { case ...: should_exit = true; break; // ... more stuff ... case DONE: should_exit = true; break; } if (should_exit) { break; } }</code>
この場合、状態が次の場合に should_exit フラグが true に設定されます。 DONE に設定すると、switch ステートメントの後にフラグがチェックされるとループが中断されます。
以上がC の switch ステートメント内からループを抜け出す方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。