循环链表的问题
代码#include <stdio.h>
#include <malloc.h>
typedef struct LNode
{
int num;
struct Lnode *next;
}node,*LinkList;
LinkList create()
{
LinkList head,p,q;
p=(node*)malloc(sizeof(node));
head=NULL;
scanf("%d",&(p->num)); //前面的LinkList 定义的P不是指针型的所以这里要加&,如果书上例子定义的是*S所以不用加&
if(head==NULL)
{
head=p;
q=p;
}
else
{
q->next=p;
q=p;
}
q->next=head;
return head;
}
main()
{
LinkList head1,x;
printf("\t\t\t实例089(练习A) 查询元素的前驱和后继\n\n");
printf("请输入一组要储存的数据:\n");
x=create();
head1=x;
printf("输入的数字是:\n");
while(x!=head1);
{
printf("%d",x->num);
x=x->next;
}
printf("\n");
}
谁能帮我看下 这段代码 输入 1 2 怎么只能输出 1