從 Switch 語句跳出迴圈
瀏覽程式碼時,可能會出現需要從內部退出迴圈的情況switch 語句。考慮以下場景:
while(true) {
switch(msg->state) {
case MSGTYPE: // ...
break;
// ... more stuff ...
case DONE:
**HERE, break out of the loop itself**
}
}
我們的目標是找到一種優雅的方式來打破封閉循環,而不需要藉助標誌或條件中斷。
快速退出:使用「goto」
在 C 領域,「goto」語句提供了一個簡單的解決方案。它允許您跳到當前函數中的特定標籤。透過利用“goto”,您可以從 switch 語句中乾淨地退出迴圈:
while ( ... ) {
switch( ... ) {
case ...:
goto exit_loop;
}
}
exit_loop: ;
這種方法提供了一種簡潔而明確的方式來終止迴圈。請記住,應謹慎使用“goto”以保持程式碼的可讀性。然而,在某些情況下,它可以提供簡單有效的解決方案。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3