Answers:
有一个启用C99模式的编译器开关,除其他外,它还允许在for循环内声明变量。要打开它,请使用编译器开关-std=c99
或如@OysterD所说,在循环外声明变量。
要在CodeBlocks中切换到C99模式,请执行以下步骤:
单击“ 项目/构建选项”,然后在“ 编译器设置”选项卡中选择“ 其他选项”子选项卡,然后将其放置-std=c99
在文本区域中,然后单击“ 确定”。
这将为您的编译器打开C99模式。
我希望这会对某人有所帮助!
-std=gnu99
按照上面的一些答案中的描述使用了!
我也遇到了这个错误。
for (int i=0;i<10;i++) { ..
在C89 / C90标准中无效。正如OysterD所说,您需要执行以下操作:
int i;
for (i=0;i<10;i++) { ..
C99和更高版本的C语言允许使用您的原始代码。
C99的新功能
如果您在C语言中进行编译
for (int i=0;i<10;i++) { ..
至
int i;
for (i=0;i<10;i++) { ..
您也可以使用C99开关套件进行编译。将-std = c99放在编译行中:
gcc -std=c99 foo.c -o foo
REF:http ://cplusplus.syntaxerrors.info/index.php?title='for'_loop_initial_declaration_used_outside_C99_mode
在Code :: Blocks 16.01中启用C99模式
对于Qt-creator:只需将下一行添加到* .pro文件中...
QMAKE_CFLAGS_DEBUG = \
-std=gnu99
QMAKE_CFLAGS_RELEASE = \
-std=gnu99