为什么这个输出这个链表得到的是一些乱码?哪里出错了呀
#include"stdio.h"#include"stdlib.h"
typedef struct node
{
int num ,score;
struct node *next;/*指针域*/
}Node,* Link;
Node *creat(Link head,int n)/*初始化一个空链表*/
{
Node *p,*q;
int i;
for(i=1;i<=5;i++)
{
q=(Link )malloc(sizeof(Node));
printf("input%d num,score:\n",i);
scanf("%d,%d",&q->next,&q->score);
q->next=NULL;
if(head==NULL)
head=q;
else
p->next=q;
p=q;/*把q的结点地址赋值给p,为下一次q开辟结点空间保留上一次结点地址*/
}
return head;
}
void print(Link head)/*输出输入的链表*/
{
Node *p=head;
printf("num\tscore\n");
while(p!=NULL)
{
printf("%d\t%d\t",p->num,p->score);
p=p->next;
}
}
void main()
{
Node *creat(Link head,int n);
void print(Link head);
struct node *head=NULL;
head=creat(head,5);
print(head);
}