我想将 2 个数组合并为 1 个。例如:
- A1= 1,1
- A2= 2,2
- 那么 A3 = 1,2,1,2
例如:
- A1= 1
- A2= 2,2,2,2
- 那么 A3 = 1,2,2,2,2
例如:
- A1= 1,1,1,1
- A2= 2,2
- 那么 A3 = 1,2,1,2,1,1
在上一个示例中,当我运行我的代码时,我得到了 1,2,1,2,1,20。
在倒数第二个,我得到了 1,2,32767,2,2。
所以我想我有一个错误的代码。就在我完成了较短数组的元素并用较长的数组填充 A3 的所有其余部分之后。但我不知道为什么——你能帮帮我吗?
代码:
int *p3=arr3; //arr3 is A3 for example, arr1 = A1..etc, all sizes are defined
int index;
int index1=0;
int index2=0;
for(index = 0; index< sizeofArr3 ; index++)
{
if(index%2==0)
{
if(index1<=sizeofArr1)
*(p3++) = arr1[index1++];
else
*(p3++) = arr2[index2++];
}
else
{
if(index2<=sizeofArr2)
*(p3++) = arr2[index2++];
else
*(p3++) = arr1[index1++];
}
}