将此代码行转换为 C

Converting this code line to C

我有以下代码行:

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

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

谢谢!

只需在循环之前声明 int i

要么在循环外声明迭代器:

int i;

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

或者如果您的编译器支持,则针对 c99 或兼容标准进行编译:

gcc -std=c99 your_code.c 

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

尝试先声明 i 变量。

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

需要成为

int i;

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