程序改错 求数组a中的最大值和最小值,并将它们分别存入此数组的最后两个元素中(我怎么也找不出)

程序每个注释found下面有一个错误,共2处错误,其他内容保持不变,使之功能符合要求

#include<stdio.h>
   /*************found************/
  void fun(int *a,int *size) ;
  /*************found************/
  {  int k,max=min=0;
     for(k=0;k<size;k++)
     {  if(a[k]>a[max])
          max=k;
        if(a[k]<a[min])
          min=k;
     }
     a[size-2]=a[max];
     a[size-1]=a[min];
  }
  int main( void)
  {  int a[5],i;
     for(i=0;i<5;i++)
     scanf("%d",&a[i]);
     fun(a,5);
     printf("max=%d,min=%d",a[3],a[4]);
  return 0;
  }
 

编译错误.
main.c:5:3: error: expected identifier or '(' before '{' token
{ int k,max=min=0;
^
main.c: In function 'main':
main.c:19:6: warning: passing argument 2 of 'fun' makes pointer from integer without a cast [enabled by default]
fun(a,5);
^
main.c:3:8: note: expected 'int *' but argument is of type 'int'
void fun(int *a,int *size) ;
^

 

 

 

#include<stdio.h>
/*found/
void fun(int *a,int *size) //;不要加逗号
/*found/
{ int k,max=min=0;//先max=0,min=0;
for(k=0;k<*size;k++)//解引用
{ if(a[k]>a[max])
max=k;
if(a[k]<a[min])
min=k;
}
a[size-2]=a[max];
a[size-1]=a[min];
}
int main( void)
{ int a[5],i;
for(i=0;i<5;i++)
scanf("%d",&a[i]);
fun(a,5);
printf("max=%d,min=%d",a[3],a[4]);
return 0;
}