我试图在C中创建一个程序,使用指针计算两个int数组的总和.这是我想要做的一个例子:
int a[] = {1,2,3,4}
int b[] = {1,2,3,4,5,6}
int c[] = sumArrays(a,b,4,6)
Output : c = {2,4,6,8,5,6}
Run Code Online (Sandbox Code Playgroud)
问题是我的输出不同,它显示:
Output : c = {2,4,6,8}
Run Code Online (Sandbox Code Playgroud)
知道我做错了什么以及如何纠正它?这是我的代码:
#include <stdio.h>
#include <stdlib.h>
int* sumArrays(int *arr1, int *arr2, int dim1,int dim2)
{
int *ret = NULL;
if(dim1<dim2) ret = (int*) malloc(dim2*sizeof(int));
else ret = (int*) malloc(dim1*sizeof(int));
if(ret)
{
if(dim1<dim2) {
int i = 0;
for (i = 0;i < dim1;i++) {
ret[i] = arr1[i] + arr2[i];
}
for (i = dim1; i < dim2;i++) …Run Code Online (Sandbox Code Playgroud)