问个链表问题
程序如下(其中一部分)
程序代码:
#include<stdio.h>
#include<stdlib.h>
typedef struct LNode
{
char data;
struct LNode *next;
}LNode,*LinkList;
void CreateList(LinkList *L,int n)
{
//逆位序输入n个元素的值,建立带表头结点的单链线性表L
int i;
LinkList p;
(*L) = (LinkList)malloc(sizeof(LNode));
(*L)->next = NULL; //先建立带头结点的单链表
for(i=n;i>0;--i)
{
p = (LinkList)malloc(sizeof(LNode)); //生成新结点
scanf("%c",&p->data);
p->next = (*L)->next;
(*L)->next = p;
}
}
void display(LinkList *L)
{
LinkList di;
di = (*L)->next;
while(di!=NULL)
{
printf("%c\t",di->data);
di = di->next;
}
}
void main()
{
LinkList link;
CreateList(&link,5);
display(&link);
}
我插入是5个,但为什么,只能输入3个呢?而且输出时,怎么会怪怪的?
拜托,帮帮忙

