我正在开发的程序有一个小问题。
我的程序在数组上执行一个函数。该函数只能对数组的前 16 个元素执行命令。
我现在想要创建一个循环,以便该函数可以处理数组中超过 16 个元素。这是我的想法,但最终陷入了无限循环:
int l = 0;
for (int i=0; i<=size; i+16)
{
for (int j=0; j<=16;j++)
{
FUNCTION(INARRAY; OUTARRAY);
}
}
下一个问题是该函数将仅遍历数组的 16 个元素并忽略其余元素。
使它遍历接下来的 16 个元素并将其作为以下元素保存在输出缓冲区中的最佳方法是什么?
当我调整解决方案时,它仍然只处理前 16 个元素,然后不会继续处理接下来的 16 个元素。
最佳答案
这个:
i + 16
不会改变i
的值,因此循环永远不会终止。该表达式仅计算 i + 16
的值,但结果被丢弃。
要更改变量的值,请使用赋值 (=
) 运算符,例如 i = i + 16
或 i += 16
.
关于c - 具有特定功能的for循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24555233/