数组中存在的元素的总和

问题描述 投票:0回答:1
//Adding all the Elements in an array and displaying their sum
#include<iostream>
using namespace std;
int main(){
    int n;
    cout<<"Enter the number of Elements in an array: ";
    cin>>n;
    int a[n];
    for(int i=0;i<n;i++){
        cin>>a[n];
    }
    int sum;
    for(int i=0;i<n;i++){
        sum+=a[n];
    }
    cout<<sum;
}

Output:
Enter the number of Elements in an array: 2
1
5
10

我用“n”替换了“i”,但仍然无法获得所需的输出。我期待我能得到数组所有元素的总和!!!

c++ arrays for-loop sum integer
1个回答
1
投票

您的代码中存在三个问题:

  • sum
    未初始化,因此添加它会导致未定义的行为。
  • 在循环中,您需要访问
    a[i]
    而不是
    a[n]
    a
    的最大索引是
    n-1
    ,因此
    a[n]
    是越界访问,并且再次...未定义的行为。
  • 变长数组不是 C++ 的标准部分。请使用
    std::vector
    来代替。
© www.soinside.com 2019 - 2024. All rights reserved.