switch(/*...*/)
{
case 1:
int a=0;//在case 1中定义a
break;
case 2:
//int a=0;//错误,重复定义,上面已经定义了a了
a=1; //在case 2中使用
break;
default:
;
}
如果不加大括号。a在case1中定义。则不能在case2中定义。因为不能重复定义。但是如果switch执行了case2,跳过了case1。那么a没有定义。所以为了防止出现这种情况。要加大括号{}。这样变量的作用域只能在括号内。如果case2也需要。重新定义一个变量就行了。 |