求助 这个程序为什么输出有错啊 求高手解答
#include <stdio.h>#include <stdlib.h>
#include <string.h>
typedef struct _Node
{
int data;
struct _Node *Next;
}Node;
void Intialize(Node *p);
void append(Node *p);
void display(Node *p);
int main()
{
Node a;
Intialize(&a);
append(&a);
display(&a);
return 0;
}
void Intialize(Node *p)
{
p=(Node *)malloc(sizeof(Node));
p->Next=NULL;
}
void append(Node *p)
{
Node *q;
if(!p)
{
for(int i=0;i<10;i++)
{
q=(Node *)malloc(sizeof(Node));
q->data=i;
p->Next=q;
p=q;
}
}
}
void display(Node *p)
{
Node *q=p->Next;
while(q)
{
printf("%d",q->data);
q=q->Next;
}
}