这个和你用的环境所支持的C语言标准有关系。VC6的话,遵守的是C89的标准。C89的标准不允许在随便位置声明变量,只允许在块的开始处,即变量不能在块内的可执行语句后声明C99和C++放松了限制,允许在随便位置声明变量,这个规定更合理
只能说是你编译器问题,我的就没问题,这种问题没必要深究。
是不是要求所有的定义和声明都放最前哪?