链表数据输入与输出的问题
我是建立一个链表,然后存入数据,再逆序输出数据#include<stdio.h>
struct Node
{ int data;
struct Node *next;
}*Head,*p,*q;
typedef struct Node *LinkList;
void main()
{ int i,n=0;
int idata;
printf("输入0结束\n");
scanf("%d",&idata);
while(idata!=0)
{ if(n==0){p=(LinkList)malloc(sizeof(struct Node));
p->data=idata;
q=p;
n++;}
else {p=(LinkList)malloc(sizeof(struct Node));
p->data=idata;
p->next =q;
n++;
}
scanf("%d",&idata);
p=p->next ;
}
Head=q;
for(i=0;i<n;i++)
{ if(i!=n-1)
{
printf("%d-->",Head->data); Head=Head->next;
}
else
{
printf("Null");
}
free(q);
q=Head;
}
printf("\n");
}