关于链表的小程序,问下有哪些错误??新手求教。
#include<stdio.h>#include<malloc.h>
struct LNode{
int data;
struct LNode*next;
};
struct LNode *creat(int n){
int i;
struct LNode *head,*p1,*p2;
int a;
head=NULL;
for(i=1;i<n;i++){
p1=(struct *LNode)malloc(sizeof(struct LNode));
printf("请输入链表第%d个数",i);
scanf("%d",&a);
p1->data=a;
if(head==NULL)
{
head=p1;
p2=p1;
}
else{
p2->next=p1;
p2=p1;
}
p2->next=NULL;
}
return head;
}
void main(){
int n;
struct LNode *q;
printf("请输入链表长度");
scanf("%d",&n);
q=creat(n);
printf("链表中的数据");
while(q){
printf("%d",q->data);
q=q->next;
}
}