在C语言中求整数数组的和
我已经阅读了这里关于求和数组的问题的答案,但仍然看不出哪里弄错了。我试图求一个数组的和。我写的代码给了我一个输出,但不是正确的输出!这是我的代码:在C语言中求整数数组的和,c,arrays,C,Arrays,我已经阅读了这里关于求和数组的问题的答案,但仍然看不出哪里弄错了。我试图求一个数组的和。我写的代码给了我一个输出,但不是正确的输出!这是我的代码: int main() { int x; scanf("%d",&x); int array[x]; int sum = 0; for (int i = 0; i < x; i++) { scanf("%d", &array[i]); } for (int
int main() {
int x;
scanf("%d",&x);
int array[x];
int sum = 0;
for (int i = 0; i < x; i++) {
scanf("%d", &array[i]);
}
for (int i = 0; i < x; i++) {
sum += sum + array[i];
}
printf("%d\n", sum);
return 0;
}
intmain(){
int x;
scanf(“%d”和&x);
int数组[x];
整数和=0;
对于(int i=0;i
有人能看出我哪里出了错吗
谢谢您应该编写
sum+=array[i]代码>或sum=sum+array[i]代码>。按照它的编写方式,您不需要计算值的总和(除了诸如0
和1
值等琐碎情况)。希望这有助于我通过注释解释各个步骤:
#include <stdio.h>
/*
Good practice to use a symbolic name to represent
the number of elements in an array that way if you
have to change the number of elements you just have
to do it here.
*/
#define NO_OF_ELEMENTS 5
int main()
{
// Declare variables and initialize them to 0.
int i = 0, sum = 0;
int array[NO_OF_ELEMENTS] = {0}; // Initializes all elements to 0.
for(i = 0; i < NO_OF_ELEMENTS; i++)
{
printf("Enter number %d: ", i + 1); // +1 so i doesnt appear as 0 on first loop.
scanf("%d", &array[i]);
sum += array[i]; // Calculate sum.
}
printf("Sum of elements: %d", sum); // Display sum.
return 0;
}
#包括
/*
使用符号名称表示的良好实践
如果
必须改变你刚刚拥有的元素的数量
在这里做。
*/
#定义元素5中的无元素
int main()
{
//声明变量并将其初始化为0。
int i=0,sum=0;
int数组[NO_OF_ELEMENTS]={0};//将所有元素初始化为0。
对于(i=0;i<0个元素;i++)
{
printf(“输入数字%d:,i+1);//+1,这样我在第一个循环中不会显示为0。
scanf(“%d”和数组[i]);
sum+=数组[i];//计算sum。
}
printf(“元素总和:%d”,总和);//显示总和。
返回0;
}
sum+=array[i]sum=sum+array[i]
或sum+=array[i]
这个问题怎么了?这是一个公平的问题。请不要因为你不喜欢这个问题就停止投票。我希望OP从你的注释代码中学习,但他的代码实现了不同的语义:第一个输入是要求和的进一步输入的数量。如果要发布示例代码,请使其符合OP的需要。我同意使用用户输入的未检查尺寸的VLA是不明智的。。。但是,不检查scanf
的返回值也是不好的做法。