在使用for循環時,在循環內定義變量,出現如下錯誤
[Error] ‘for’ loop initial declarations are only allowed in C99 or C11 mode
[Note] use option -std=c99,-std=gnu99,-std=c11 or-std=gnu11 to compile your code
出現這個錯誤的原因是以前的C語言標準中,不允許在for循環的初始化部分進行變量的定義。
出現錯誤的代碼:
for(int i = 0;i < 10;i++){printf("%d",i);
}
解決方案有2種:
第一種:
對于gcc編譯器,可以通過添加參數”-std=c99”(或”-std=c11”)來指定所需的標準。
gcc src.c -std=c99 -o src
如果你使用的是DEVC++6.0,那么可以在工具->編譯選項中添加如下內容:
第二種:
修改我們的代碼:
int i;
for(i = 0;i < 10;i++){printf("%d",i);
}