質問です。
gcc4.1.2を使用しています。

以下のようなコード
switch(i){
case 100:
int a=10;
printf("%d\n",a);
break;
}
をコンパイルすると
"expected expression before 'int'"
とエラーが出ます。

caseの直後に変数宣言があるためのようです。

コードには問題ないように思うのですがこれはなぜでしょうか?
よろしくお願いします。