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

#include <stdio.h>
int main(){
  for(int i=0;i<10;i++){
    printf("\n%d",i);
  }
  return 0;
}

linux 使用 gcc 进行编译时报

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

原因是要在 for() 外面 初始化 i 变量

#include <stdio.h>
int main(){

  int i = 0;
  for(i=0;i<10;i++){
  printf("\n%d",i);
}
  return 0;
}

编译通过

时间: 2024-11-09 03:47:39

‘for’ loop initial declarations are only allowed in C99 mode的相关文章

error: &#39;for&#39; loop initial declarations are only allowed in C99 mode

error: 'for' loop initial declarations are only allowed in C99 mode 使用gcc编译代码是报出 error: 'for' loop initial declarations are only allowed in C99 mode note: use option -std=c99 or -std=gnu99 to compile your code 错误,这是因为在gcc中直接在for循环中初始化了增量: [cpp] view

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

在gcc中,写了这样几句代码 for(int i=1; i<=2; i++) { if(*e >= T[i]) { *e = T[i]; } } 这种for循环的写法在gcc中不支持,得现在for循环之前对i进行i定义,然后在使用 如果非得这么写的话在gcc进行编译的时候可以加上如下选项 note: use option -std=c99 or -std=gnu99 to compile your code

&#39;for&#39; loop initial declarations are only allo

linux系统下的c编程与windows有所不同,如果你在用gcc编译代码的时候提示‘for’ loop initial declarations are only allowed in C99 mode,可能就是因为你在loop循环比如for中使用未预先定义的变量,比如: for(int i=0;i<10;i++) { } 这种写法在vc里是没有错的,而子gcc就会提示错误,要求遵守c89标准,c89标准是不支持上述写法的.如果你非要这么写可以这样编译,使用c99标准: gcc helo.c

常见错误积累

1.‘for’ loop initial declarations are only allowed in C99 mode: for 循环中   最初声明 只被C99 模式 允许:因为编译器不能很好的支持C99引起的.

Termux源码导入遇到的问题

今天看到一个有意思的项目--Termux,然后就把源码搞下来了.但是导入到Android Studio里编译运行的时候报错了! java.lang.UnsatisfiedLinkError: com.android.tools.fd.runtime.IncrementalClassLoader$DelegateClassLoader[DexPathList[[dex file "/data/data/com.termux/files/instant-run/dex/slice-support-a

QT学习:c++解析html相关

原来我做爬虫的时候,对页面进行解析的时候总是用很简单粗暴的方法,直接找规律.后来在网上看到了gumbo,尝试了一下,发现确实很好用,所以向大家推荐一下. 以下转自:http://blog.csdn.net/whyistao/article/details/37919581 1.c++好像没有太多的html解析库可以用,最后试着在qt里面集成了htmlcxx,一开始在pro里面写了 includepath += 路径,发现仍然没有用 后来发现只要在 HEADERS 和 SOURCES 里面 把ht

Linux Gcc编译错误(转载)

转自:http://www.linuxidc.com/Linux/2012-01/52153.htm Linux系统下的c编程与Windows有所不同,如果你在用gcc编译代码的时候提示‘for’ loop initial declarations are only allowed in C99 mode,可能就是因为你在loop循环比如for中使用未预先定义的变量,比如: for(int i=0;i<10;i++) { } 这种写法在vc里是没有错的,而子gcc就会提示错误,要求遵守c89标准

for循环中i变量初始化时报错

用的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

libjson-c库的使用问题备忘

 gcc -o json-demo -g json-demo.c -std=c99 -I/usr/include/json -L/usr/lib/i386-linux-gnu/ -ljson 注意: 1.json-demo和json-demo.c参数需要在前面,不能在后面,见错误1 2.需要就爱如-std=c99,代码中需要,也可以用-std=gnu99,见错误2 3.-I是json的头文件的路径 4.-L是json库所在位置,这个路径可能根据系统不同而不同,建议用find / -name