doubleyong
管理员
管理员
  • 最后登录2026-05-25
  • 发帖数1198
  • 最爱沙发
  • 喜欢达人
  • 原创写手
  • 社区居民
  • 忠实会员
阅读:7498回复:0

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

楼主#
更多 发布于:2019-10-17 13:32
使用gcc编译代码是报出
error: 'for' loop initial declarations are only allowed in C99 or C11 mode


错误:这是因为在gcc中直接在for循环中初始化了增量:
原因:在for循环里声明变量只允许在C99或C11模式


for(int i=0; i<len; i++) {
}
这语法在gcc中是错误的,必须先先定义i变量:

int i;
for(i=0;i<len;i++){
}
这是因为gcc基于c89标准,换成C99标准就可以在for循环内定义i变量了:
gcc src.c -std=c99 -o src


或者需要在工具(Tools)/编译选项(complier option)/代码生成下的语言标准选择C99

图片:c99.png


知识需要管理,知识需要分享
游客


返回顶部

公众号

公众号