Giúp e fix lỗi bài danh sách liên kết (ngôn ngữ C) này vs, e cảm ơn:
#include <conio.h>
#include <stdio.h>
#include <stdlib.h>
struct Node
{
int Data;
struct Node *pNext;
};
typedef struct Node NODE;
struct List
{
NODE *pHead;
NODE *pTail;
};
typedef struct List LIST;
void Init (LIST *l)
{
(*l).pHead = (*l).pTail = NULL;
}
NODE* GetNode (int x)
{
NODE *p = (NODE *)malloc(sizeof(NODE));
p ->Data = x;
p ->pNext = NULL;
}
void AddTail (LIST *l, NODE *p)
{
if ((*l).pHead == NULL)
(*l).pHead = (*l).pTail = p;
(*l).pTail ->pNext = p;
(*l).pTail = p;
}
void InPut (LIST *l)
{
int n;
printf ("Nhap vao so luong data: ");
scanf ("%d", &n);
Init(&l);
int i, x;
for (i = 0 ; i < n ; i++)
{
printf ("Nhap vao du lieu data: ");
scanf ("%d", &x);
NODE *p = GetNode(x);
AddTail(&l, p);
}
}
void OutPut (LIST l)
{
NODE *p;
for (p = l.pHead ; p != NULL ; p = p ->pNext)
printf ("%5d", p ->Data);
}
int main()
{
LIST l;
InPut (&l);
OutPut (l);
getch();
return 0;
}