我正在尝试执行 switch 语句,但它只会执行最后一种情况,不包括默认情况。所以当我使用这段代码时:
switch (int)
{
case 1:
<code>
case 2:
<code>
case 3:
<code>
case default:
<code>
}
它执行 case 3,不管我输入什么为 int。但是如果我删除 case 3,它会执行 case 2。输出检查显示传递的整数不是这些情况的对应整数。有没有人遇到过这个问题?
我的代码现在非常简单;省略每种情况的确切代码在逻辑上没有区别。
提前致谢!
答案 0 :(得分:2)
您需要break properly。
switch (n) {
case 1:
/* code here */
break;
case 2:
/* code here */
break;
case 3:
/* code here */
break;
default:
/* code here */
break;
}
如果你忘记了 break 语句,它会跳到下一个 case。
答案 1 :(得分:0)
您需要在每个案例代码的末尾添加一个 break 语句。
break;
一旦你把它放在每个案例的末尾,它应该可以解决你的问题。代码目前全部默认为最后一种情况。