调用初始化链表函数及如下代码中InitLinkList(L,6)后,输入时进仅仅输入了3个元素就直接跳出了输出函数。
请大佬帮忙答疑!!!
#include<stdio.h>
#include<stdlib.h>
typedef struct LNode{
char data;
struct LNode *next;
}LNode, *LinkList;
void InitLinkList(LinkList &L,int n){
L=(LinkList)malloc(sizeof (LNode));
L->next=NULL;
LinkList head,tail,p;
head=L;
tail=L->next;
printf("请输入链表元素\n");
for(int i=1;i<=n;i++){
p=(LinkList)malloc(sizeof(LNode));
scanf("%c",&p->data);
head->next=p->next;
head->next=p;
head=head->next;
printf("%c",p->data);
}
}
void PutLinkList(LinkList &L){
printf("————链表如下————\n");
LinkList p=L->next;
while(p){
printf("%c!",p->data);
p=p->next;
}
}
void main(){
LinkList L;
InitLinkList(L,6);
PutLinkList(L);
}