从 Switch 中跳出循环
在 C 中,有时需要从 switch 语句中跳出循环。在提供的代码片段中,用户希望在消息状态设置为 DONE 时退出循环。
使用 goto 语句
最直接的方法实现这一点是通过使用 goto 语句,如下面的代码所示:
<code class="c++">while ( ... ) { switch( ... ) { case ...: goto exit_loop; } } exit_loop: ;</code>
在此示例中,当状态设置为 DONE 时,goto 语句跳转到标签 exit_loop,有效地打破了两者switch 语句和 while 循环。
使用标志变量
另一种方法是使用标志变量。这可以是一个布尔变量,当 switch 语句中满足所需条件时,该变量设置为 true。然后可以通过检查 switch 语句后的标志变量来中断循环。
这是一个示例:
<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>
在这种情况下,当状态为设置为 DONE,当 switch 语句后检查标志时,循环就会中断。
以上是如何在 C 语言中从 Switch 语句中跳出循环?的详细内容。更多信息请关注PHP中文网其他相关文章!