C++ getIntArrayAverage 函数

标签 c++

我是 C++ 的新手,正在做一项作业。该函数应采用数组和数组中的项目数。我的主要功能出现错误。

#include <stdio.h>

double getIntArrayAverage(int *array, int size)
{
    if (size == 0)
    {
        return 0.0;
    }

    double sum = 0.0;
    for (int x = 0; x < size; x++)
    {
        sum += array[x];
    }
    double average = (sum / size);
    return average;
}
int main(void)
{
    int array[10] = {1,2,3,4,5,6,7,8,9,10};
    int size = 10;
    double avg = getIntArrayAverage(*array, size);
    printf("%f", avg);
}

最佳答案

问题就出在这里

double avg = getIntArrayAverage(*array, size);

getIntArrayAverage() 函数接受数组的地址并且您提供了数组的第 0 个元素。

传递数组(即第 0 个元素的地址)的正确方法是调用如下函数。

double avg = getIntArrayAverage(array, size);

关于C++ getIntArrayAverage 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55252715/

相关文章:

c++ - 继承和 Qt 信号

c++ - 在运行时询问变体中的替代项是否满足某个概念

C++ - 进程信息

c++ - 比较 vector 中 vector 的大小以获得最大的

c++ - 计算另一个图像像素满足条件的像素值的平均值

c++ - 每个键具有多个数据元素的链表

C++ 预链接器错误

c++ - 临时缓冲区 : Local or member variable?

c++ - 无法在 MinGW 中包含 header

c++ - 计算Linux中父进程的最大数量