c 编译异常 switch 之a label can only be part of a statement and a declaration is not a statement

client.c:996: error: a label can only be part of a statement and a declaration is not a statement

switch(a){
case 1:
....................
....................
....................
break;
case 2:
break;
}
 
在GCC下编译会出现如下错误:
error: a label can only be part of a statement and a declaration is not a statement
但加上如下括号后,就没有错误了,这是为什么?编译器的问题?
switch(a){
case 1:

....................
....................
....................

break;
case 2:
break;
}
http://zhidao.baidu.com/link?url=fSrpX7VaVXd5-L8c2zj2xVDSbh8bM-5xyO6iyZOYgV30mI_iZlASQmNakmGSC-4gnPO3oG2HzIAvdSVayOTjTa
http://www.cnblogs.com/radiolover/p/4307453.html 手机定位
http://www.cnblogs.com/skyme/p/4310550.html 数据挖掘
原文地址:https://www.cnblogs.com/pengkunfan/p/4311613.html