Ausbrechen aus Schleifen innerhalb einer Switch-Anweisung
Beim Navigieren durch Code können Situationen auftreten, in denen Sie eine Schleife innerhalb einer Switch-Anweisung verlassen müssen eine switch-Anweisung. Betrachten Sie das folgende Szenario:
while(true) {
switch(msg->state) {
case MSGTYPE: // ...
break;
// ... more stuff ...
case DONE:
**HERE, break out of the loop itself**
}
}
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: Verwenden 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:
while ( ... ) {
switch( ... ) {
case ...:
goto exit_loop;
}
}
exit_loop: ;
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 bieten.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3