将此代码行转换为 C

标签 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

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

谢谢!

最佳答案

在循环之外声明迭代器:

int i;

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

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

gcc -std=c99 your_code.c 

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

关于将此代码行转换为 C,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33457768/

相关文章:

c - 禁用 Eclipse 项目中所有函数/方法调用的出现

c - 排除代码段陷入循环的原因

python - 将字典与其他字典进行比较,并仅选择其他字典中存在的那些键

c - 难以将子字符串添加到c中的字符串

更改固定的二维数组以获取运行时给定的大小

python - 匹配条件后如何更新/替换嵌套循环内的列表项?

java - 如何避免时间复杂度O(n^2)?

r - 迭代地提取跨说话轮次的重复单词形式

python - 在 python 中循环操作的一行

c - 字符串、获取和执行