题目:

我的代码
#include<stdio.h>
#define n 3
struct student
{
int num;
char name[20];
int chin;
int math;
int eng;
float aver;
};
int main()
{
struct student people[n];
struct student* p;
p = people;
void input(struct student arr[]);
struct student max(struct student *q);
void print(struct student* q);
input(p);
max(p);
print(p);
return 0;
}
void input(struct student arr[])
{
int i;
for (i = 0; i < n; i++)
{
scanf_s("%d %s %d %d %d ", &arr[i].num, arr[i].name, &arr[i].chin, &arr[i].math,&arr[i].eng);
arr[i].aver = (arr[i].chin + arr[i].math + arr[i].eng) / 3.0;
}
}
struct student max(struct student *q)
{
int i,j;
for (i = 0; i < n; i++)
{
if ((q+j)->aver < (q + i)->aver)
j = i;
}
return (q + j)->aver;
}
void print(struct student *q)
{
printf("num:%d name:%s chinnes:%d math:%d english:%d averge:%f\n", q->num, q->name, q->chin, q->math, q->eng, q->aver);
}
报错显示:

能帮忙找找错吗