C语言,不带头结点的链表,利用头插法存入信息,然后输出,没有error,却运行不了,求大神指点

2025-05-17 00:01:09
推荐回答(1个)
回答(1):

#include
#include
typedef struct
{
char name[20];
int age;
}STD;
typedef struct node
{
STD data;
struct node *next;
}NODE,*LINK;
int shuchu(LINK H);
void shou(LINK *H);

int shuchu(LINK H)
{
LINK s;
int i=1;
s=H;
if(s==NULL)
{
return 0;
}
while(s!=NULL)
{
printf("这是第%d个学生",i);
printf("%s ",s->data.name);
printf("%d\n",s->data.age);
s=s->next;
i++;
}
return 1;
}

void shou(LINK *H)
{
int y=-1;
LINK p1;
while(y)
{
p1=(LINK)malloc(sizeof(NODE));
printf("输入新节点信息:\n");
scanf("%s",p1->data.name);
scanf("%d",&p1->data.age);
p1->next=*H;
*H=p1;
printf("是否继续?继续-1,结束-0\n");
scanf("%d",&y);
}

}

void main()
{
LINK H=NULL;
shou(&H);
shuchu(H);
}