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

比如写出下面这段程序:

for (int i = 0; i < n; ++i)

  do_something();

然后用gcc编译,会报 ‘for’ loop initial declarations are only allowed in C99 mode的错误。

原因是在循环条件中声明变量的话,只在C99标准中支持,C90标准不支持。

所以改成:

int i;

for (i = 0; i < n; ++i)

  do_something();

这样编译就可以通过了。

posted on 2015-11-05 15:09  让编程成为一种习惯  阅读(338)  评论(0编辑  收藏  举报