lzzzzz06
2018-04-18 18:46
怎样写输出才能把所有的链表输出出来
int main(){ struct weapon *l,*k; *l=create(); while(l->next!=NULL){ printf("%d,%d\n",l->price,l->atk); k=l->next; l=k; } printf("%d,%d\n",l->price,l->atk); return 0;
}
/*忘了我的和老师的内容不一样了emmmm
我写的是stu和creat 想写create的但是拼错了咳咳*/
#include <stdio.h>
#include <malloc.h>
struct stu{
int age;
char name[10];
struct stu *next;
};
struct stu * creat()
{
struct stu *head;
struct stu *p1,*p2;
int n=0;
p1=p2=(struct stu *)malloc(sizeof(struct stu));
scanf("%d %s",&p1->age,&p1->name);
head=NULL;
while(p1->age!=0)
{
n++;
if(n==1)
head=p1;
else
p2->next=p1;
p2=p1;
p1=(struct stu *)malloc(sizeof(struct stu));
scanf("%d %s",&p1->age,&p1->name);
}
free(p1);
p2->next=NULL;
return (head);
}
int main()
{
struct stu *p;
int i=0;
p=creat();
while(p->next!=NULL)
{
i++;
printf("%d %d %s\n",i,p->age,p->name);
p=p->next;
}
i++;
printf("%d %d %s\n",i,p->age,p->name);
return 0;
}
做一个循环就可以了
Linux C语言结构体
118294 学习 · 162 问题
相似问题