为什么我的执行不出结果啊,我觉得没有错误啊

#include<stdio.h>
#define N 10
void printscore(int a[])
{
int i;
for(i=0;i<N;i++)
{
printf("%d",a[i]);
}
printf("\n");
}
int avescore(int a[])
{
return avescore(a)/N;
}
int max(int a[])
{
int max=-1;
int i;
for(i=0;i<N;i++);
{
if(a[i]>max)
{
max=a[i];
}
}
return max;
}
int main()
{
int a[N]={67,98,75,63,82,79,81,91,66,84};
int ave;
ave=avescore(a);
printf("平均分是%d\n",ave);
return 0;
}