将此代码行转换为C.

时间:2015-10-31 23:37:31

标签: c loops for-loop arraylist c99

我有以下代码行:

for ( int i = index; i < al->size; ++i )

//i,index and size are integers.al is an arraylist

当我在C中编译它时,我收到错误:

 'for' loop initial declarations are only allowed in C99 mode

我不确定如何解决这个问题。

谢谢!

4 个答案:

答案 0 :(得分:3)

在循环之外声明迭代器:

int i;

for (i = index; i < al->size; ++i) {
    do_foo();
}

或者如果您的编译器支持它,请根据c99或兼容标准进行编译:

gcc -std=c99 your_code.c 

(请注意,gnu89 / gnu90是默认值(无论如何都是4.8)。)

答案 1 :(得分:0)

只需在循环之前声明int i

答案 2 :(得分:0)

尝试先声明i变量。

int i;
for ( i = index; i < al->size; ++i )

答案 3 :(得分:0)

for ( int i = index; i < al->size; ++i ) 

需要成为

int i;

for (i = index; i < al->size; ++i)