我想要一个将arr1的每个元素添加到arr2的每个元素并将其存储在第三个数组中的代码。例如,如果arr1={1,2,3}
和arr2={1,2}
,则arr3={2,3,3,4,4,5}
将会是这样。
请帮助。谢谢
答案 0 :(得分:0)
尽管您的解释不好,但我认为这是您想要的。
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a[] = {1, 2, 3};
int b[] = {1, 2};
int numElementsA = sizeof(a) / sizeof(int);
int numElementsB = sizeof(b) / sizeof(int);
int finalSize = numElementsA * numElementsB;
printf("finalSize: %i\n", finalSize);
int* c = malloc(finalSize * sizeof(int));
int cc = 0;
for (int x = 0; x < numElementsA; x++) {
for (int y = 0; y < numElementsB; y++) {
c[cc] = a[x] + b[y];
cc++;
}
}
for (int i = 0; i < finalSize; i++) {
printf("%i ,", c[i]);
}
//make sure memory doesn't leak
free(c);
return 0;
}
输出:
finalSize: 6
2, 3, 3, 4, 4, 5,
答案 1 :(得分:-2)
按以下长度分配结果数组:输入array1大小*输入array2,然后进行计算。