zoukankan      html  css  js  c++  java
  • 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分支中有几条语句,都是用”{}”将其括起来。
  • 相关阅读:
    Two sum 两个数相加
    [ACM] hdu 1286 找新朋友(欧拉函数)
    环形队中实现队列的基本运算
    队列的顺序存储结构及其基本运算的实现
    栈的链式存储结构及其基本运算实现
    栈的顺序存储结构及其基本运算实现
    [ACM] hdu 1205 吃糖果(鸽巢原理)
    [ACM] poj 3128 Leonardo's Notebook (置换群,循环节)
    hdu acm 1051 Zipper
    [ACM] poj 2369 Permutations (置换群循环节长度)
  • 原文地址:https://www.cnblogs.com/zhangyunlin/p/6168005.html
Copyright © 2011-2022 走看看