您的位置:首页 > 其它

关于switch-case的default坑

2016-10-14 12:34 190 查看
1、普通switch-case语句

int main()
{
int x = 1;
switch (x)
{
case 1:
cout << 1;
break;
case 2:
cout << 2;
break:
case 3:
cout << 3;
break;
default:
cout << "default";
}

return 0;

}x=1则输出1,x=2则输出2,x=3则输出3,x=其他则输出default
2、去掉break

int main()
{
int x = 1;
switch (x)
{
case 1:
cout << 1;
//break;
case 2:
cout << 2;
//break:
case 3:
cout << 3;
//break;
default:
cout << "default";
}

return 0;

}
输出123default,没break则一直执行
3、没有break且default位置改变

switch (x)
{
default:
cout << "default";
case 1:
cout << 1;
//break;
case 2:
cout << 2;
//break:
case 3:
cout << 3;
//break;

}当x=1,输出123
switch (x)
{

case 1:
cout << 1;
//break;
default:
cout << "default";
case 2:
cout << 2;
//break:
case 3:
cout << 3;
//break;

}当x=1,输出1default23
x=2,输出23

x=5,输出default23

即只要没有break都会执行到块结尾,default位置不影响case语句
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: