error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode

在编译的时候报错:error: ‘for’ loop initial declarations are only allowed in C99 or C11 mode

报错截图如下所示

报错截图

这是因为 gcc 在编译中是基于 C89 标准的,这个标准不允许在 for 循环内声明变量,而需要在循环前声明,如下所示

int index;

for (index = 0; index < LENGTH_LIMIT; index ++) {

    ----> Do something;

}

而如报错中 note 提示的那样,切换成 C99 标准就允许在 for 循环内声明变量了,如下所示

for (int index = 0; index < LENGTH_LIMIT; index ++) {

    ----> Do something;

}

切换标准的方法就是在编译的时候,增加 -std=c99,如下所示

gcc func.c -std=c99 -o func

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容