switch语句使用时注意事项

本文介绍了解决C++中switch-case语句引发的编译错误“errorC2361:“default”标签跳过“temp1”的初始化操作”的三种方法,并总结了switch语句的编程规范。
如下代码编译时编译器给出如下错误:error C2361: default”标签跳过“temp1”的初始化操作
void main()
{
int i;
switch(i)
{
case 1:
int temp1 = 1;
break;
default:
break;
}
}
如果采用下面的三种方法可以解决这个编译错误:
方法一:在只有一个case语句的情况下使用不会出现此类编译错误,代码如下:
void main()
{
int i;
switch(i)
{
case 1:
int temp1 = 1;
break;
}
}
方法二:采用先声明后赋值的方法,代码如下:
void main()
{
int i;
switch(i)
{
case 1:
int temp1;
temp1 = 1;
break;
default:
break;
}
}
方法三:将case语句中代码利用”{}”括起来,代码如下:强烈推荐此方法
void main()
{
int i;
switch(i)
{
case 1:
{
int temp1 = 1;
break;
}
default:
{
break;
}
}
}
Switch语句编程规范总结:
【规则1】每个case 语句的结尾不要忘了加break,否则将导致多个分支重叠(除非有意使多个分支重叠)。
【规则2】不要忘记最后那个default 分支。即使程序真的不需要default 处理,也应该保留语句 default : break; 这样做并非多此一举,而是为了防止别人误以为你忘了default 处理。
【规则3】 在使用switch语句时,不管case分支中有几条语句,都是用”{}”将其括起来。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值