当前位置: 代码迷 >> C语言 >> 一个链表的输出问题
  详细解决方案

一个链表的输出问题

热度:356   发布时间:2007-04-16 11:24:45.0
一个链表的输出问题
#include"stdlib.h"
#include"stdio.h"
struct list
{
int data;
struct list *next;
};
typedef struct list node;
typedef node *link;
void main()
{
link ptr, head;
int num,i;
head=(link)malloc(sizeof(node));
ptr=head;
printf("please input 5 numbers==>\n");
for(i=0;i<=4;i++)
{
scanf("%d",&num);
ptr->data=num;
ptr->next=(link)malloc(sizeof(node));
if(i==4) ptr->next=NULL;
}
ptr=head;
while(ptr!=NULL) // 哪里出错了这段??
{printf("the value is ==>%d\n",ptr->data);
ptr=ptr->next;
}
getch();
}
// 创建这个连表后为什么输出时只有最后一个元素.烦各位指点
搜索更多相关的解决方案: 链表  输出  

----------------解决方案--------------------------------------------------------
回复:(dainichuhai)一个链表的输出问题

已找出真是愚钝
还是谢谢你看贴


----------------解决方案--------------------------------------------------------
ptr->next=(link)malloc(sizeof(node));
if(i==4) ptr->next=NULL;


改为

if(i==4) ptr->next=NULL;
else ptr->next=(link)malloc(sizeof(node));
ptr = ptr->next;

----------------解决方案--------------------------------------------------------
  相关解决方案