我在 case 语句之外声明了一个变量。但是如果我在一个案例中打印它的值,它会显示 0。谁能解释一下?
令人困惑的是为什么要采用声明部分(int b,否则,未定义变量的编译错误)以及为什么不初始化?
我无法得到标记为重复的问题的答案,因此该帖子。
main()
{
int a=1;
switch(a)
{
int b = 6;
case 1:
{
printf("b is %d\n",b);
}
break;
default:printf("b is %d in default\n",a);
break;
}
return 0;
}