c语言问题,求平均值,但是参数传递那好像错了,

#include<stdio.h>
int aveg(int *p);
void main()
{
    int a[5],grade,i,*p;
    printf("Please print 5 grade:");
        for(i=0;i<5;i++)
        {
    
        scanf("%d",&a[i]);
        
        }
        
        grade=aveg(a);
        printf(":%d",grade);
}
int  aveg(int *p)
{
    int n=0;
    int i;
    int score=0;
    for(i=0;i<5;i++);
    {
        n=n+*(p+i);
    }
    printf("%d\n",n);
    score=n/5;
    return (score);
}

参数没错,aveg函数中的for循环后面多了一个分号。。。

#include<stdio.h>
int aveg(int *p);
void main()
{
    int a[5],grade,i,*p;
    printf("Please print 5 grade:");
    for(i=0;i<5;i++)
    {
        scanf("%d",&a[i]);
    }
    grade=aveg(a);
    printf(":%d",grade);
}
int  aveg(int *p)
{
    int n=0;
    int i;
    int score=0;
    for(i=0;i<5;i++) //这里多了分号,把分号去掉就可以了
    {
        n=n+*(p+i);
    }
    printf("%d\n",n);
    score=n/5;
    return (score);
}