VS2010错误:error C2143: 语法错误 : 缺少“;”(在“类型”的前面)

在VC6.0、DEV-CPP、GCC等下能顺利通过的C程序,在VS2010中总是出现如下错误提示:

error C2143: 语法错误 : 缺少“;”(在“类型”的前面)

原因与解决方案:
纯c要求局部变量定义必须在函数或局部空间的开头,然后才能有其他语句。

纯c确实对变量声明的位置有要求,c++却可以随用随定义的。 说明vs是严格执行了纯C的标准。

变量任意定义是c99的标准。

/tc
/qstd=c99
两个参数,第一个, 指定当做 c语言来编译第二个,指定用c99 标准

比如你这样写,在vs2010中无法通过:
{
int j;
for(j=0;j<6;j++) { printf("%d",j); int n=1; printf("%d",n); } }

如下方式写,VS2010即可正常编译:
{
int j;
int n=1;
for(j=0;j<6;j++) { printf("%d",j); printf("%d",n); } }