这不是我实际尝试解决的特定问题,但我想到了一个简单的例子来说明我不知道如何做到这一点:
假设我们有一个包含switch
语句的while
循环,例如:
while(some_cond){
switch(some_var){
case 1:
foo();
break;
case 2:
bar();
break;
}
}
如果我们想要在case 1
中跳出while循环,该怎么做呢?
我们不能写break; break;
,因为第二个永远不会发生。
我们也不能在while
循环中无条件地使用break
,因为这会发生在任何情况下。
难道我们只能在while
循环中写if (some_var == 1) break;
,否则向while
条件中添加&& !flag
,并设置flag = 1
吗?
goto
会起作用,虽然不太美观。 - herohuyongtao