想要定义一个数据结构的链表,请问怎样用纯C语言达到输入和输出的效果,另外请看看我的代码有什么错
代码如下:
#include <stdio.h>
#include <stdlib.h>
typedef struct lnode{
struct lnode *next;
int data;
}Lnode;
void createlist(Lnode *header)
{
header=(Lnode *) malloc(sizeof (Lnode));
header->next=NULL;
int data;
Lnode *p,*q;
p=header;
while (1)
{
scanf("%d",&data);
if(data==999)
break;
q=(Lnode *) malloc(sizeof(Lnode));
q->next=NULL;
p->next=q;
p=q;
}
}
void printlist(Lnode *header)
{
Lnode *p;
p=header->next;
while(p)
{
printf("%d",p->data);
p=p->next;
}
}
void main()
{
Lnode header;
printf("输入:");
createlist(&header);
printf("输出:");
printlist(&header);
}