

刚学指针,这个代码有什么问题吗,为什么求不出正确的最大最小下标和平均数,求助,谢谢
#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;
}