c++问题求解

x=3;switch(x+3){case6:y=0;case7:y=1;default:y+=1;}y的输出结果为什么是2... x = 3;
switch (x + 3) {
case 6: y = 0;
case 7: y = 1;
default: y += 1;
}
y的输出结果为什么是2
展开
 我来答
xll683
2018-05-22
知道答主
回答量:8
采纳率:100%
帮助的人:6.1万
展开全部
首先,switch条件为6,你觉得应该是输出0.
那为什么是输出2,是因为你没有在后面加上break;只有遇到break才会跳出.,所以代码执行完case 6:y=0之后,还是会继续下面的case 7,以及default.
正确代码:
switch (x + 3) {
case 6: y = 0; break;
case 7: y = 1;break;
default: y += 1; //最后一行break可加可不加
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式