好久没用C写代码 手上编译器只有 许久之前更新的 20.03版的CodeBlocks
在编译C文件的时候 突然在循环语句上面 无法编译,一下蒙了。
写了这么久代码,咋简单for循环语句都能写错了呢
只要自己不尴尬,尴尬的就是别人 ┭┮﹏┭┮
定眼一看 提示循环中初始化声明问题,简单理解就是变量的生命周期问题
现象
[Error] ‘for‘ loop initial declarations are only allowed in C99 or C11 mode
原因
因为 gcc 在编译中是基于 C89 标准的,这个标准不允许在 for 循环内声明变量,而需要在循环前声明
解决方案
-
在Settings菜单栏下找到Compiler…菜单项,如下图:
-
在Global compiler setting中选择Compiler settings选项卡,在Other Compiler options中填入代码
-std=c99
如下图:
效果展示
此时可以在for循环中声明 变量并赋值使用