函数,该函数获取两个大小相等的整数数组和元素数作为参数,并在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