众所周知,在switch case结构中,定义变量,编译器会报错,那有什么办法能在case中定义变量,不让报错吗?
修改代码如下:
case中定义变量
1.c语言switch/case中定义变量
case 0: int b = 0 ; printf("0");break;
case 1: printf("1");break;
default: printf("default");break;
C和C++都会报错
情况1:
case 0: int b; b = 0 ; printf("0");break;
case 1: printf("1");break;
default: printf("default");break;
情况2:
case 0: {int b = 0 ; printf("0")};break;
case 1: printf("1");break;
default: printf("default");break;
这两种情况C和C++都不会报错
即:在case里定义的变量,用花括号{}括起来,限定下作用域就可以了!
case 0: {int b = 0 ; printf("0")};break;