重複の可能性:
switchステートメントで変数を宣言できないのはなぜですか?
定義がバイパスされている場合、変数はどのように使用できますか?
#include<stdio.h>
int main()
{
int a=1;
switch(a)
{ int b=20;
case 1: printf("b is %d\n",b);
break;
default:printf("%d\n",b);
break;
}
return 0;
}
gcc 4.6.3で実行され、出力は20ではありません。ここで何が起こっているのでしょうか。