C语言 函数和两个大小相等的整数数组的加法[已关闭]

ve7v8dk2  于 2023-01-20  发布在  其他
关注(0)|答案(1)|浏览(135)

已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题?**添加详细信息并通过editing this post阐明问题。

两年前关闭了。
这篇文章是8小时前编辑并提交审查的。
Improve this question
这是一个问题,我得到了一所大学的问卷写的代码,得到两个大小相等的整数数组和一些元素作为参数,并计算和显示两个数组的并行元素的总和在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;
}

通过增加数组的大小然后分配内存来进一步改进这一点的任何帮助都将非常感谢。

v8wbuo2f

v8wbuo2f1#

这种方法是从用户那里获取数组的大小,然后定义一个具有该大小的数组,尽管这是可能的,并且可以在许多编译器中工作,但是有很多风险。
这样做的最佳方式是扫描该大小,然后为其分配内存。

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

相关问题