switch语句作用域

来源:互联网 发布:知乎 最霸气的一句话 编辑:程序博客网 时间:2024/06/17 19:46

switch 语句里面不同的case 下是不能声明同一个变量的。 要明确switch下是一个作用域,case下属于switch的作用域。
下面介绍两种常见错误:

switch(number){case 0:*int i =1;*break;case 1:*int i=1;*break;}

上面这种这种情况会报出 : 变量i 已经被定义过,不能被重复定义。

switch(number){case 0:*int i =1;*break;case 1: *i=2;*break;}

上面的代码会在i=2的位置报出i变量未被初始化。原因是在int i=1的时候声明了i,但是case 2时不会运行case 1,所以会没有初始化。

综上所述: 在switch里 不同case下的变量也要用不同的变量名,不要用相同的变量名。

0 0