问题:
代码:
#include<stdio.h>
struct student {
int num;
char name[20];
char sex;
int age;
}st[30];
int main(){
int n;
scanf("%d",&n);
student* p;//p指向结构体数组st
//p=st=&st[0]
//p=st+n=&st[n] ,*p=st[n]
for(p=st;p<st+n;p++){
scanf("%d %s %c %d",&(p->num),p->name,&(p->sex),&(p->age));
//也可以写成下面这样,不过记得要给*p加括号,因为.的优先级更高,不加括号会出错
//scanf("%d %s %c %d",&((*p).num),(*p).name,&((*p).sex),&((*p).age));
}
for(p=st;p<st+n;p++){
printf("%d %s %c %d\n",p->num,p->name,p->sex,p->age);
}
return 0;
}