两个相等大小的整数数组的函数和加法

Functions and addition of two equal size integer arrays

用C语言编写代码,将两个大小相等的整数数组和元素个数作为参数,计算并显示两个数组的平行元素之和? 数组的大小和数组的元素必须由用户给出

#include <stdio.h>
int main()
{
    int n, i;
    printf("Enter size of array \n");
    scanf("%d", &n);

    int arr1[n], arr2[n], sum[n];


    for(i = 0; i < n; i++)
        {
           printf("enter number %d for array 1 ", i+1);
           scanf("%d", &arr1[i]);
        }

     for(i = 0; i < n; i++)
        {
           printf("enter number %d for array 2 ", i+1);
           scanf("%d", &arr2[i]);
        }

     for (i=0; i<n; i++)
        {
            sum[i]=arr1[i]+arr2[i];
        }
 printf("The total is  ");
     for (i=0; i<n; i++)
     printf(" %d " , sum[i]);

return 0;
}


通过这种方式,您可以从用户那里获取数组的大小并定义一个具有该大小的数组,尽管这是可能的并且可能在许多编译器中工作,但有很多风险。查看此答案以获取更多信息

这样做的最佳方法是扫描该大小,然后为其分配内存。

    int n;
    scanf("%d", &n);
    int* arr1, * arr2, * sum;
    arr1 = malloc(n * sizeof(int));
    arr2 = malloc(n * sizeof(int));
    sum = malloc(n * sizeof(int));