Heim  >  Artikel  >  Backend-Entwicklung  >  Wie kann ich innerhalb von Switch-Anweisungen in C aus Schleifen ausbrechen?

Wie kann ich innerhalb von Switch-Anweisungen in C aus Schleifen ausbrechen?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-10-30 03:35:28478Durchsuche

How to Break Out of Loops from Within Switch Statements in C  ?

Schleifen innerhalb von Schaltern ausbrechen

In C ist es manchmal notwendig, aus einer Schleife innerhalb einer Switch-Anweisung auszubrechen. Im bereitgestellten Codeausschnitt möchte der Benutzer die Schleife verlassen, wenn der Status der Nachricht auf FERTIG gesetzt ist.

Verwenden der goto-Anweisung

Der einfachste Weg dazu Dies erreichen Sie, indem Sie die goto-Anweisung verwenden, wie im folgenden Code gezeigt:

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

   }
}
exit_loop: ;</code>

In diesem Beispiel springt die goto-Anweisung zur Bezeichnung „exit_loop“, wenn der Status auf „FERTIG“ gesetzt ist, und bricht damit effektiv aus beiden aus die switch-Anweisung und die while-Schleife.

Verwendung einer Flag-Variablen

Ein alternativer Ansatz ist die Verwendung einer Flag-Variablen. Dies kann eine boolesche Variable sein, die auf „true“ gesetzt wird, wenn die gewünschte Bedingung innerhalb der Switch-Anweisung erfüllt ist. Die Schleife kann dann unterbrochen werden, indem die Flag-Variable nach der Switch-Anweisung überprüft wird.

Hier ein Beispiel:

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

In diesem Fall wird das Flag „should_exit“ auf „true“ gesetzt, wenn der Status lautet auf DONE gesetzt und die Schleife wird unterbrochen, wenn das Flag nach der switch-Anweisung überprüft wird.

Das obige ist der detaillierte Inhalt vonWie kann ich innerhalb von Switch-Anweisungen in C aus Schleifen 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