怎么没返回平均值?
程序代码:
/* 编写用指针变量作为函数参数求数组的最小值、最大值和平均值的函数, 主函数输入个数都为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返回错误?调试时还是正确的! */如何修改?