编写一个函数,完成从键盘输入一个学生信息,要求用地址传递方式传 回这个学生信息voidInputStud(STUD*p)

编写一个函数,完成从键盘输入一个学生信息,要求用地址传递方式传
回这个学生信息voidInputStud(STUD*p)

求纠错

#include<stdio.h>
struct STUD
{
char son[4];
char name[8];
int age;
}stu;

int main()
{
struct STUD *p
InputStud(struct STUD *p);
return 0;
}
void InputStud(struct STUD *p)
{
p=&stu;
scanf("%s%s%d",p.son,p.name,p.age);
print("%s%s%d",(*p).son,(*p).name,(*p).age);
}

scanf("%s%s%d",p.son,p.name,p.age);
改为
scanf("%s%s%d",p.son,p.name,&p.age);

#include<stdio.h>
struct STUD
{
char son[4];
char name[8];
int age;
}stu[3];
void InputStud(struct STUD *p);

int main()
{
struct STUD *p=stu;
void InputStud(struct STUD *p);
printf("%s%s%d",(*p).son,(*p).name,(*p).age);
return 0;
}
void InputStud(struct STUD *p)
{
for(int i=0;i<3;i++)
{ scanf("%s%s%d",p[0].son,p[0].name,p[0].age);}
}

这个可以吗

#include<stdio.h>
struct STUD
{
char son[4];
char name[8];
int age;
}stu[5];
void InputStud(struct STUD *p);

int main()
{
struct STUD *p=stu;
int i;
for(i=0;i<4;i++)
InputStud(&stu[i]);

for(i=0;i<4;i++)   
    printf("%5s%5s%4d\n",stu[i].son,stu[i].name,stu[i].age);
return 0;

}
void InputStud(struct STUD *p)
{

scanf("%s%s%d",p->son,p->name,&p->age);
}#include<stdio.h>
struct STUD
{
char son[4];
char name[8];
int age;
}stu[5];
void InputStud(struct STUD *p);

int main()
{
struct STUD *p=stu;
int i;
for(i=0;i<4;i++)
InputStud(&stu[i]);

for(i=0;i<4;i++)   
    printf("%5s%5s%4d\n",stu[i].son,stu[i].name,stu[i].age);
return 0;

}
void InputStud(struct STUD *p)
{

scanf("%s%s%d",p->son,p->name,&p->age);
}

4)调用上述输入学生信息函数,完成对第5个学生信息的输入。
InputStud(&s[4]);