题目要求:建立一个单链表,把从键盘依次输入的5个字符串存入链表中,然后再输出5个字符串。
源程序:
# include <stdio.h>
# include <malloc.h>
main()
{
int i;
typedef struct node{
char name[10];
struct node *link;
}stud;
stud *p,*h,*s; /*p为前一个节点指针,s为当前生成节点的指针,h为头节点指针*/
if((h=(stud*)malloc(sizeof(stud)))==NULL)
{
printf("节点分配失误/n");
return 0;
}
h->name[0]='/0';
h->link=NULL;
p=h;
for(i=0;i<=4;i++)
{
s=(stud*)malloc(sizeof(stud));
p->link=s;
printf("请输入第%d个节点的数据/n",i+1);
scanf("%s",s->name);
s->link=NULL;
p=s;}
stud *d;
d=h;
for(i=0;i<=4;i++)
{
printf("输入的第%d个数据为",i+1);
printf("%s/n",d->link->name);
d=d->link;
}
}