想知道如果中断是在if语句中,我是否可以突破我的情况,或者如果中断只是退出if而不是case。如果执行else,我只想通过下一个案例。感谢
case PS_STARTED:
readyForPwrDn_b = appReadyForPwrDn_b;
if (!readyForPwrDn_b)
{
break;
}
else
{
CurrentPowerState_e = PS_COMPLETE;
}
//fallthrough
case PS_COMPLETE:
答案 0 :(得分:3)
没有突破if
这样的事情。 break
仅适用于switch
和我熟悉的所有编程语言中的循环。
PHP:
break 结束当前 for , foreach ,的执行,而, do-while < / em>或切换结构。
break语句终止当前的循环,开关或标签语句,并将程序控制转移到终止语句后的语句。
C++:
中断语句与条件转换语句一起使用,执行,用于,用于循环语句。
但是,这些都适用于未标记的break
语句。在某些语言中,您可以写:
myIf:
if (!readyForPwrDn_b) {
break myIf;
} else {
CurrentPowerState_e = PS_COMPLETE;
}
这只会突破if
。
答案 1 :(得分:0)
if (condition)
{
//Do your thing
if (breakOutCondition)
return;
//Continue your code
}
这个if语句可以工作,但有一个简单,干净的方法可以摆脱这样的循环。您可以使用goto
来破坏这个变量范围,它会让它变得更加干净。警告:goto
有时会让人感到害怕,因为它本质上是一种伪装的破坏。
if (breakoutcondition)
{
...
goto foo;
...
}
foo:
//Continue here