转自:http://www.linuxidc.com/Linux/2012-01/52153.htm
Linux系统下的c编程与Windows有所不同,如果你在用gcc编译代码的时候提示‘for’ loop initial declarations are only allowed in C99 mode,可能就是因为你在loop循环比如for中使用未预先定义的变量,比如:
for(int i=0;i<10;i++)
{
}
这种写法在vc里是没有错的,而子gcc就会提示错误,要求遵守c89标准,c89标准是不支持上述写法的。如果你非要这么写可以这样编译,使用c99标准:
gcc helo.c -std=c99 -o hello
当然,你也可以先定义i变量。
int i;
for(i=0;i<10;i++)
{
}
这样再编译就不会再提示‘for’ loop initial declarations are only allowed in C99 mode这样的错误了