c语言动态链表,显示段错误,输入一组数据就报警

模仿的,段错误,求解

#include <stdio.h>

#include <malloc.h>

struct stu{

char name[10];

int num;

int garde;

struct stu *next;

};

struct stu *mark()

struct stu *head;

struct stu *p1,*p2;

int n=0;

head=NULL;

p1=p2=(struct stu*)malloc(sizeof(struct stu));


scanf_s("%d,%d",p1->num,&p1->garde);

while(p1->num!=0)

{

n++;

if(n==1)

{

head=p1;

}

else{

p2->next=p1;

}

p2=p1;

p1=(struct stu*)malloc(sizeof(struct stu));

scanf_s("%d,%d",p1->num,&p1->garde);

}

p2->next=NULL;

return head;

}

int main()

{

struct stu *p;

p=mark();

while(p!=0)

{

printf("%d,%d\n",p->num,p->garde);

p=p->next;

}


return 0;

}


丶年少
浏览 819回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP