该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include
#include
#include
#include struct student
{
char name[20];
int n;
struct student *p;
};int i;
struct student* t()
{
struct student *head=NULL;
struct student *end,*new;
i=0;
end=new=(struct student *)malloc(sizeof(struct student));
printf("输入姓名和学号\n");
scanf("%s",&new->name[20]);
scanf("%d",&new->n);
while(new->n!=0)
{
i++;
if(i==1)
{
new->p=head;
head=new;
end=new;
}
else
{
new->p=NULL;
end->p=new;
end=new;
}
new=(struct student *)malloc(sizeof(struct student));
scanf("%s",&new->name[20]);
scanf("%d",&new->n); }
free(new);
new=NULL;
return head;}
void print(struct student *w)
{
struct student *j;
int k=1;
printf("有%d个学生信息:\n",i);
printf("\n");
j=w;
while(j!=NULL)
{ printf("%s\n",j->name);
printf("%d\n",j->n);
j=j->p;
k++;
}}
int main()
{
struct student *h;
h=t();
print(h);
return 0;
}