比如if语句里
if(6>5){
int a =10;
}
printf("%d",a);
看视频里老师说以上是错误的,因为a的作用域只在大括号里,所以上述错误。但是
在switch里
int a=10
int b=10
switch(a){
case10:
printf("A\n");
b++;
case5:
printf("B\n");
b++;
case0:
printf("c\n");
b++;
break;
default:
printf("D\n");
break;
}
printf("%d",b);
以上结果为,打印出ABC以及b的值为13,,,ABC我可以理解的,但是b的值不应该是10么?b++的作用域不该是在switch里面么?在break退出语句之后b++是不是应该也就没有了?因为上述两个作用域的问题我纠结死了,望大神解释一下,通俗一点,本人零基础,所以都还是很不熟悉的{:2_45:} |
|