使用动态数组存储所读入的整数

问题遇到的现象和发生背景

输入n个整数,使用动态数组存储所读入的整数,并计算它们的和与平均值分别输出

用代码块功能插入代码,请勿粘贴截图
#include
int getSum(int a[],int len);
{
    int sum=0,i;
    for(i=0;ireturn sum;
}

int getAve (int sum,int N);
{
    return sum/N;
}

int main()
{
    int n,*p,i,sum=0,ave=0;
    scanf("%d",&n);
    p=(int *)malloc(sizeof(int*n));
    if(p==NULL)
        return 0;
    for(i=;iscanf("%d",p+i);
    }
    for(i=0;iprintf("%d\n",*(p+i));
    }
    sum=getSum(p,n);
    ave=getAve(sum,n);
    printf("sum=%d\n",sum);
    printf("ave=%d\n",ave);
}

运行结果及报错内容

img

我想要达到的结果

想知道它错在哪里了怎么改,感谢

2和12行函数后面的分号删掉。这里不是函数申明,是函数实现