用的gcc版本号为:gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1)
写的程序源文件名为:643b.c,
该文件中,有一个语句:for(int i=0;i<11;i++)
运行编译命令:gcc -o 643b 643b.c
会报错:
643b.c: In function ‘main’:
643b.c:5:2: error: ‘for’ loop initial declarations are only allowed in C99 mode
for(int i=0;i<11;i++)
^
643b.c:5:2: note: use option -std=c99 or -std=gnu99 to compile your code
需要在命令行中添加参数 -std=c99 或者 -std=gnu99
gcc -o 643b 643b.c -std=c99
运行程序:./643b
得到结果:
I am happy
或者:
gcc -o 643b 643b.c -std=gnu99
运行程序:./643b
得到结果:
I am happy
出错的原因可能是因为只有在标准的c99或者gnu99中,才能在for循环中初始化定义i的类型,所以需要加上参数:-std=c99 或者 -std=gnu99
原文地址:http://blog.csdn.net/wangjiaweiwei/article/details/40016245