数据结构中单链表的小问题?

2024-11-26 07:44:47
推荐回答(1个)
回答1:

#include
typedef int datatype;
typedef struct link_node{
datatype info;
struct link_node *next;
}node;

main()
{
node *p,*q,*head;
int i,x;
head=(node*)malloc(sizeof(node));
head->next=NULL;
q=head;
printf("请依次输入5个数:\n");
for(i=0;i<5;i++)
{

scanf("%d",&x);
p=(node*)malloc(sizeof(node));
p->info=x;
q->next=p;
q=p; //你这里有问题,q=q->next;则得到q=NULL
}
p->next=NULL;

printf("\n这5个数依次是:\n");
head=head->next; //你没有给首个指针赋值,所以这个的结果就不要输出了
while(head)
{
printf("%d",head->info);
head=head->next;
}
}