求救!数据结构!大一初学者(自学的)一段很简单的代码不知哪里有错?求学长和高人指点。
下面一段代码。只是实现简单的链表输入输出咋会出问题呢?好像是scanf()有问题但又不知哪儿有错?望各位指点一下!#include<stdio.h>#include<stdlib.h>
#define MAXSIZE 10
#define NULL 0
typedef struct student
{
int num;
int score;
struct student *next;
}student;
student *creat_list(student *L)
{
int i;
student *p,*r;
L=(student * )malloc(sizeof(student));
L->next=NULL;
r=L;
for(i=0;i<MAXSIZE;i++)
{
p=(student *)malloc(sizeof(student));
scanf("%d,%d",&p->num,&p->score);
p->next=NULL;
r->next=p;
r=p;
}
return L;
}
void print_list(student *L)
{
student *s;
s=L->next;
while(s->next!=NULL)
{
printf("%ld,%d",s->num,s->score);
s++;
}
}
void main()
{
student *L,*q;
L=NULL;
printf("输入相关数据:\n");
q=creat_list(L);
printf("相关数据为:\n");
print_list(q);
}