问题描述:
C语言编译时产生报错:
error: 'for' loop initial declarations are only allowed in C99 or C11 mode
for(int i=2;i<=n;i++){
^
hello.c:5:5: note: use option -std=c99, -std=gnu99, -std=c11 or -std=gnu11 to compile your code
产生原因:这语法在gcc中是错误的,gcc编译器是基于c89,不能在for循环中定义循环变量
for(int i=2;i<=n;i++){
;
}
解决办法:必须先先定义i变量
int i;
for(i=2;i<=n;i++){
;
}
换成C99或者C11标准就能正常使用
参考:文章