Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich innerhalb einer Switch-Anweisung in C aus einer Schleife ausbrechen?

Wie kann ich innerhalb einer Switch-Anweisung in C aus einer Schleife ausbrechen?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-28 12:13:31135Durchsuche

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

Schleifen aus einer Switch-Anweisung heraus ausbrechen

Beim Navigieren durch Code können Situationen auftreten, in denen Sie eine Schleife aus dem Inneren heraus verlassen müssen eine switch-Anweisung. Stellen Sie sich das folgende Szenario vor:

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

Das Ziel besteht darin, eine elegante Möglichkeit zu finden, aus der umschließenden Schleife auszubrechen, ohne auf Flags oder bedingte Unterbrechungen zurückzugreifen.

Ein schneller Ausstieg: Verwendung von „goto“

Im Bereich C bietet die „goto“-Anweisung eine einfache Lösung. Damit können Sie innerhalb der aktuellen Funktion zu einer bestimmten Beschriftung springen. Durch die Nutzung von „goto“ können Sie die Schleife innerhalb der switch-Anweisung sauber verlassen:

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

   }
}
exit_loop: ;</code>

Dieser Ansatz bietet eine prägnante und explizite Möglichkeit, die Schleife zu beenden. Beachten Sie, dass „goto“ sparsam verwendet werden sollte, um die Lesbarkeit des Codes zu gewährleisten. In bestimmten Situationen kann es jedoch eine einfache und effektive Lösung sein.

Das obige ist der detaillierte Inhalt vonWie kann ich innerhalb einer Switch-Anweisung in C aus einer Schleife ausbrechen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn