我是 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/