switch语句中编程错误:jump to case label
//编数据结构第一次作业,遇到该问题,记录下来以便复习
1 int main() 2 { 3 int a=0; 4 switch(a) 5 { 6 case 0:int b=0;break; 7 case 1:break; 8 default:break; 9 } 10 return 0; 11 }
问题:
error:jump to case label
warning :unused variable 'b'
原因:case 0:中的变量穿透到case 1和default中,case 0中的变量经过了初始化,而在case1和default作用域中中的变量没有经过初始化
解决方法:在所需要变量的范围内加上花括号
1 int main() 2 { 3 int a=0; 4 switch(a) 5 { 6 case 0: 7 { 8 int b=0; 9 break; 10 } 11 case 1: 12 break; 13 default: 14 break; 15 } 16 return 0; 17 }

浙公网安备 33010602011771号