除法后结果错误

Wrong result after a division

在一个练习中,我必须给一个函数一个数组和它的大小来得到它的平均值。 所以我试过了:

#include <stdio.h>
#include <stdlib.h>

double average(double array[], double array_size);


int main()
{
    double array[4] = {12.0, 20.0, 8.9, 14.7};

    printf("The average of the array is : %lf\n", average(array, 4.0));

    return 0;
}

double average(double array[], double array_size)
{
    int array_average = 0, i = 0;

    while(i < array_size)
    {
        array_average += array[i];
        i++;
    }

    return array_average / array_size;
}

当我用计算器计算平均值时,我把文件和 运行 ./a.out 和那个 return 我计算为 13.500000 而不是 13.9。

我看不出错误在哪里,感谢您的帮助!

如果以后能帮到别人我post我的最终代码

#include <stdio.h>
#include <stdlib.h>

double average(double array[], double array_size);


int main()
{
    double array[4] = {12.0, 20.0, 8.9, 14.7};

    printf("The average of the array is : %lf\n", average(array, 4.0));

    return 0;
}

double average(double array[], double array_size)
{
    double array_average = 0.0;
    int i = 0;

    while(i < array_size)
    {
        array_average += array[i];
        i++;
    }

    return array_average / array_size;
}