c语言利用指针求数组最大最小下边,平均数

img

img


刚学指针,这个代码有什么问题吗,为什么求不出正确的最大最小下标和平均数,求助,谢谢


#include <stdio.h>
#include <string.h>
#include <ctype.h>
#include <stdlib.h>
void fun(int *a,int *n,int *pmax,int *pmin,double *pmean)
{
    int i,b,c,max,min;
    double sum=0;
     max=a[0];
     min=a[0];
    for(i=1;i<*n;i++)
    {
        if(a[i]>max)
        {
            max=a[i];
            *pmax=i;
        }
        if(a[i]<min)
        {
            min=a[i];
            *pmin=i;
        }
        sum+=a[i];
    }
    sum+=a[0];
    *pmean=sum*1.0/(*n);

}
int main()
{
    int a[100];
    int i,n,max,min;
    double mean;
    scanf("%d",&n);
    for(i=0;i<n;i++)
    {
        scanf("%d",&a[i]);
    }
    max=a[0];
    min=a[0];
    fun(a,&n,&max,&min,&mean);
    printf("最大值下标:%d\n最小值下标:%d\n平均值:%f\n",max,min,mean);

    return 0;
}