GCC错误:for for循环初始声明在C99模式之外使用

我得到error: 'for' loop initial declaration used outside C99 mode当我尝试与make编译。 我发现一个wiki说

在编译行中inputgcc -std=c99 foo.c -o foogcc -std=c99 foo.c -o foo

问题是我不知道如何在make指定这个。 我打开Makefile ,发现CC = gcc ,并将其更改为CC = gcc -std=c99 ,但没有任何结果。 有任何想法吗?

把CFLAGS = -std = c99放在你的Makefile的顶部。

为了在不使用C99的情况下删除错误,只需要在for循环所在块的顶部声明您的迭代器变量即可。

代替:

 for (int i = 0; i < count; i++) { } 

使用:

 int i; //other code for (i = 0; i < count; i++) { }