估计是跟着谭浩强学的C语言导致的,现在Gcc编译各种不通过让我很郁闷,不得已又得拿起书来重新学一遍,真正发现C语言没有那么简单。当初学的时候被坑了而已。
for(int i = 0;i<size;i++)
这段以前VC++上写的最顺手的程序,在Gcc编译下直接报错:
$ gcc array.c array.c: In function ‘print_Array’: array.c:9:5: error:
‘for’ loop initial declarations are only allowed in C99 mode
for(int i = 0;i < size;i++)
^ array.c:9:5: note: use option -std=c99 or -std=gnu99 to compile your code
原因很简单,ANSI C标准是根本就不支持这种写法的,标准C语言的写法是
int i;