ホームページ  >  記事  >  バックエンド開発  >  C の switch ステートメント内からループから抜け出すにはどうすればよいですか?

C の switch ステートメント内からループから抜け出すにはどうすればよいですか?

Patricia Arquette
Patricia Arquetteオリジナル
2024-10-28 12:13:31135ブラウズ

How to Break Out of a Loop from Within a Switch Statement in C  ?

Switch ステートメント内からループを抜け出す

コード内を移動しているときに、ループを内側から抜け出す必要がある状況が発生する場合があります。 switch ステートメント。次のシナリオを考えてみましょう:

<code class="cpp">while(true) {
    switch(msg->state) {
    case MSGTYPE: // ... 
        break;
    // ... more stuff ...
    case DONE:
        **HERE, break out of the loop itself**
    }
}</code>

目標は、フラグや条件ブレークに頼ることなく、囲まれたループから抜け出すエレガントな方法を見つけることです。

迅速な終了: 'goto' の使用

C の領域では、'goto' ステートメントは簡単な解決策を提供します。現在の関数内の特定のラベルにジャンプできます。 「goto」を利用すると、switch ステートメント内からループをきれいに終了できます。

<code class="cpp">while ( ... ) {
   switch( ... ) {
     case ...:
         goto exit_loop;

   }
}
exit_loop: ;</code>

このアプローチは、ループを終了するための簡潔かつ明示的な方法を提供します。コードの可読性を維持するために、「goto」は控えめに使用する必要があることに注意してください。ただし、特定の状況では、シンプルで効果的な解決策が提供される場合があります。

以上がC の switch ステートメント内からループから抜け出すにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。