我已經在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