0

有谁知道将每个第 n 个元素从一个数组复制到另一个数组的方法?例如,我有一个数组 Data[x],并且想要将每第三个 (3rd) 元素 - Data[0]、Data[3]、Data[6] 等复制到一个新的数组 Data2[j] 中。我尝试使用 for 循环但没有成功。

void StoreData()
{
bufferPointer1 = &BufferA[0];
x=0;
i=0;
j=0;

while (x<NO_SAMPLES-1)
{
    Data[x] = *bufferPointer1;
    bufferPointer1++;
    x++;
    for (j=0; j<127; i++)
        {
        Data2[j] = Data[i+=3];
        j++;
        }
}
}
4

1 回答 1

0

为什么不在函数中声明变量?这四个似乎都是在本地使用的,不应该在函数之外可见。

为什么在本节中增加 i 而不是 j,这是一个错字吗?

   for (j=0; j<127; i++)
        {
        Data2[j] = Data[i+=3];
        j++;
        }

我会这样写:

   for (j=0; j<127; j++)
        {
        Data2[j] = Data[i];
        i+=3;
        }
    i=0;                      // Reset pointer
于 2015-08-21T18:19:47.660 回答