可能重复:
为什么 switch 语句被设计为需要中断?
我有这个:
switch(i)
{
case a:
{
//code
}
case b:
{
//code
}
case c:
{
//code
}
}
如果i == a
是,代码会在b
其中c
执行还是必须break;
在每个代码中都放一个?
谢谢,
可能重复:
为什么 switch 语句被设计为需要中断?
我有这个:
switch(i)
{
case a:
{
//code
}
case b:
{
//code
}
case c:
{
//code
}
}
如果i == a
是,代码会在b
其中c
执行还是必须break;
在每个代码中都放一个?
谢谢,
break;
我必须在每个中放一个吗?
是的,如果您只想执行一个案例。或者,其他控制流语句也可以导致switch
退出,例如return
或throw
。
如果您要替换//code
为 ,std::cout << "case [x]" << std::endl
则答案将很明显。
是的,它需要休息才能正常工作。括号仅介绍范围,它们不影响流量控制。
不是在最后一个,即使这样做是个好习惯。
如果您不break
输入一个,那么当前案例和所有后续案例将执行到下一次中断、抛出或返回。
case
这在您希望两个部分执行相同代码的情况下很有用,您可以编写:
case a:
case b:
// ... some code...
break;
这将为 a 和 b 执行。