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 处理。
【规则2】不要忘记最后那个default 分支。即使程序真的不需要default 处理,也应该保留语句 default : break; 这样做并非多此一举,而是为了防止别人误以为你忘了default 处理。
【规则3】 在使用switch语句时,不管case分支中有几条语句,都是用”{}”将其括起来。