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

widuu 2013-9-30 Linux 7,382 0 喜欢 (0)

error
我们在写c语言或者object-c的时候可能会遇到上边的图的情况这个是为什么呢?我给大家解析一下,然后告诉大家两种解决的方法!原因是gcc在循环的时候增加了增量所以出现的错误一般我们肯定都是这样写的!
[php]
#include<stdio.h>
2 int main(int argc,const char *argv[]){
3 int i = 99;
4 for (int r = 0 ;i > r;i=i-3){
5 if(i % 5 != 0){
6 printf("num is %d \n",i);
7 }
8 printf("Found one!\n");
9 }
10 return 0;
11 }
[/php]
for语法的错误我们必须先申明了r
[php]
#include<stdio.h>
2 int main(int argc,const char *argv[]){
3 int i = 99;
4 for (int r = 0 ;i > r;i=i-3){
5 if(i % 5 != 0){
6 printf("num is %d \n",i);
7 }
8 printf("Found one!\n");
9 }
10 return 0;
11 }
[/php]
这是因为gcc基于c89标准,换成C99标准就可以在for循环内定义i变量了:

gcc src.c -std=c99 -o src

转载请注明来自微度网络,本文标题:《error: ‘for’ loop initial declarations are only allowed in C99 mode》

喜欢 0 发布评论
Top