怎么没返回平均值?
程序代码:/*
编写用指针变量作为函数参数求数组的最小值、最大值和平均值的函数,
主函数输入个数都为10的数组,
调用所编写的函数并输出该数组的最小值、最大值和平均值
*/
#include "stdio.h"
#define N 10
void main()
{
void find(int *p1, int n, int *min, int *max, float *average);
int array[N], i, max, min;
float average;
for(i=0; i < N; i++)
scanf("%d", &array[i]);
find(array, N, &min, &max, &average);
printf("min=%d\nmax=%d\naverage=%d\n", min, max, average);
}
void find(int *p1, int n, int *min, int *max, float *average)
{
int i, *p=p1;
float sum=0, count=0;
*min=*p1;
*max=*p1;
for(i=0; i < N; i++)
{
count++;
sum += *(p+i);
if (*(p+i) < *min)
{
*min=*(p+i);
}
if(*(p+i) > *max)
{
*max=*(p+i);
}
}
*average=sum/count;
}
/*
为什么那个平均值average返回错误?调试时还是正确的!
*/如何修改?








