在for循环中向数组添加元素

约翰·杜

我想通过遍历一个for循环来填充数组。

假设我有:

int8 myArray[30] = {0};  // Declaring and initializing an array which contains maximum 30 elements  

在for循环中向数组添加元素:

for (i = 0; i<5; i++)
{
    myArray[0+(i*5)] = getNumberfromFunction1();
    myArray[1+(i*5)] = getNumberfromFunction2();
    myArray[2+(i*5)] = getNumberfromFunction3();
    myArray[3+(i*5)] = getNumberfromFunction4();
    myArray[4+(i*5)] = getNumberfromFunction5();
    myArray[5+(i*5)] = getNumberfromFunction6();
}

循环的每个元素应按以下方式填充:

myArray [0] = getNumberfromFunction1();

myArray [1] = getNumberFromFunction2();

...

...

myArray [5] = getNumberFromFunction6();

myArray [6] = getNumberFromFunction1();

....

....

i = 0的第一圈,索引正确:

myArray[0] = ..
myArray[1] = ..
..
..
myArray[5] = ..

当i = 1时,问题开始

比起myArray [6],我将拥有myArray [5]。

foor循环中的第一个索引将始终被foor循环的最后一个索引覆盖。

有什么建议如何处理吗?

阿德里安·摩尔

for循环的每次运行中,您都将六个添加到数组中!因此,在随后的每次运行中,您都应将“偏移”计数增加i * 6(而不是i * 5):

for (i = 0; i<5; i++)
{
    myArray[0+(i*6)] = getNumberfromFunction1();
    myArray[1+(i*6)] = getNumberfromFunction2();
    myArray[2+(i*6)] = getNumberfromFunction3();
    myArray[3+(i*6)] = getNumberfromFunction4();
    myArray[4+(i*6)] = getNumberfromFunction5();
    myArray[5+(i*6)] = getNumberfromFunction6();
}

尝试这个。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章