Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
函数,该函数获取两个大小相等的整数数组和元素数作为参数,并在C中显示两个数组的并行元素之和_C_Arrays - Fatal编程技术网

函数,该函数获取两个大小相等的整数数组和元素数作为参数,并在C中显示两个数组的并行元素之和

函数,该函数获取两个大小相等的整数数组和元素数作为参数,并在C中显示两个数组的并行元素之和,c,arrays,C,Arrays,下面给出了我编写的代码,它不允许用户将所有必需的元素输入到用户选择的数组中 #include <stdlib.h> void add(int x, int arr1[], int arr2[]) { int i; int sum[x]; for (i=0; i<x; i++) { sum[i]=arr1[i]+arr2[i]; } printf("The total of the two arrays is

下面给出了我编写的代码,它不允许用户将所有必需的元素输入到用户选择的数组中

#include <stdlib.h>

void add(int x, int arr1[], int arr2[])
{
    int i;
    int sum[x];

    for (i=0; i<x; i++)
    {
        sum[i]=arr1[i]+arr2[i];
    }
    printf("The total of the two arrays is  ");
    for (i=0; i<x; i++)
    printf("%d", sum[i]);
}
int main()
{
    int i, x;
    printf("Enter the size of the arrays \n");
    scanf("%d", &x);

    int arr1[x], arr2[x];
    for(i=0; i<x; i++)
    {
        printf("Enter number %d for array 1  ", i++);
        scanf("%d", &arr1[i]);
    }
      for(i=0; i<x; i++)
    {
        printf("Enter number %d for array 2  ", i++);
        scanf("%d", &arr2[i]);
    }
    add(x, arr1, arr2);
    return 0;
}
#包括
无效添加(整数x,整数arr1[],整数arr2[]
{
int i;
整数和[x];

对于(i=0;i我想你首先需要仔细阅读

简单地说,
i++
i+1
不同

i = 1;
printf("%d", i++);
printf("%d", i);
i+1
将在
i
中添加1,但不会更改
i
本身

i = 1;
printf("%d", i+1);
printf("%d", i);
输出将是
2
1

现在
i++
改变了
i
。它转化为
i=i+1

i = 1;
printf("%d", i++);
printf("%d", i);
输出将是
2
2
。请注意
i
已更改

现在来谈谈你的问题

for(i=0; i<x; i++)
{
    printf("Enter number %d for array 1  ", i++);
    scanf("%d", &arr1[i]);
}
输出将是

0 2
请注意,由于双增量,数字是如何被跳过的

但如果你的循环是:

int x=4;
for(i=0; i<x; i++)
{
    printf("%d ", i+1);
}
(i=0;i)的

1 2 3 4