我已经在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;
}
这是未定义的行为 –
[解释此C程序的输出](http://stackoverflow.com/questions/17749100/explain-output-of-this-c-program) –
为什么地球上你会想要做什么这个..? – Sean