Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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,我已经阅读了这里关于求和数组的问题的答案,但仍然看不出哪里弄错了。我试图求一个数组的和。我写的代码给了我一个输出,但不是正确的输出!这是我的代码: 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
的返回值也是不好的做法。