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這樣的錯誤了