在使用for循环时,在循环内定义变量,出现如下错误
[Error] ‘for’ loop initial declarations are only allowed in C99 or C11 mode
[Note] use option -std=c99,-std=gnu99,-std=c11 or-std=gnu11 to compile your code
出现这个错误的原因是以前的C语言标准中,不允许在for循环的初始化部分进行变量的定义。
出现错误的代码:
for(int i = 0;i < 10;i++){
printf("%d",i);
}
解决方案有2种:
第一种:
对于gcc编译器,可以通过添加参数”-std=c99”(或”-std=c11”)来指定所需的标准。
gcc src.c -std=c99 -o src
如果你使用的是DEVC++6.0,那么可以在工具->编译选项中添加如下内容:
第二种:
修改我们的代码:
int i;
for(i = 0;i < 10;i++){
printf("%d",i);
}