在用 Eclipse CDT 编写c程序时出现 `for' loop initial declaration used outside C99 mode 错误是因为加 -std=c99 选项
C99标准支持下面这种for 循环的变量i的定义及初始化方式:
C99标准之外的C标准支持下面这种for 循环的变量i的定义及初始化方式:
解决办法:
右键点击项目->Properties->C/C++ Build -> Settings -> Tool Settings -> GCC C Complier -> Miscellaneous
在 "Other flags" 中追加 -std=c99
附加阅读
c89与c99的一个小区别
在eclipse中开发的时候,
char n[] = "abcda";
上面的语句都可以编译通过,但是在c89运行的时候会报错,只能使用4个字符以内的长度
而c99则无限制
C99标准支持下面这种for 循环的变量i的定义及初始化方式:
for (int var = 0; var < 10; ++var) {
}
C99标准之外的C标准支持下面这种for 循环的变量i的定义及初始化方式:
int var;
for (var = 0; var < 10; ++var) {
}
解决办法:
右键点击项目->Properties->C/C++ Build -> Settings -> Tool Settings -> GCC C Complier -> Miscellaneous
在 "Other flags" 中追加 -std=c99
附加阅读
c89与c99的一个小区别
在eclipse中开发的时候,
char n[] = "abcda";
上面的语句都可以编译通过,但是在c89运行的时候会报错,只能使用4个字符以内的长度
而c99则无限制