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分支中有几条语句,都是用”{}”将其括起来。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值