从 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