首页 > 解决方案 > 为什么我的函数总是返回 0 而不是返回 sum 结果?

问题描述

我刚开始学习 C++,现在我正在制作一个简单的数组求和函数。

为什么我的代码输出总是0?这是否意味着我的函数返回"0"

如果我cout输入函数,它会显示正确的求和结果。

#include <iostream>
using namespace std;

int ArraySum(int arr[], int size){
  int sum=0;
  for(int i=0 ; i<size; i++){
      cin >> arr[i];
      sum +=arr[i];
  }   
  return sum;
}
   
int main()
{
    int n, sum;
      cin >>n;
   int arr[n];
     ArraySum(arr, n);
   cout << sum;
    return 0;
}

标签: c++arraysfunction

解决方案


您没有将返回值分配给返回的sum时间。

您有 2 个选项:

  • 将指针传递给sum,并在内部取消引用ArraySum()

  • 将返回的值分配给ArraySum()int sum


推荐阅读