错误:只允许在 C99 模式下使用‘for’循环初始化声明 用gcc编译出现

我姐是恐龙
推荐于2017-09-07

c语言有很多标准
以前的标准不允许for(int i=0;;)这中格式

而c99的模式允许了

你的c编译器不是c99标准

for(int i=0;;)

所有你应该这样改
int i;
for(i=0;;);

追问

所有你应该这样改

int i;

for(i=0;;);

为什么,                                             

如何让c编译器是c99标准

  •    然后又说     ‘i’未声明(在此函数内第一次使用)

追答

这是编译器自身的问题了  你可以换编译器
for(int i=0;i<100;i++)
与
int i;
for(i=0;i<100;i++)
就 i 作用域这一丁点小差别   换一种写法而已  这不是重点
重点是思维  数据结构  
学程序没必要在c99这种小节上花功夫

你可能感兴趣的:(centos,linux,gcc)