新手遇到了麻烦!尾插法有点问题

tlx20093A 2009-08-09 10:01:12
typedef struct node{
char ch;
struct node *next;
}listnode;
typedef listnode *linklist;
listnode *p;

linklist create()
{
char ch;
linklist head;
listnode *p,*r;
head=NULL;
r=NULL;
while((ch=getchar()!='\n'){
p=(listnode*)malloc(sizeof(listnode));
p->data=ch;
if(head==NULL) /*
head=p;
else
r->next=p; 这里有问题,求大侠帮忙解决
r=p;
if(r!=NULL)r->next=NULL; */
}
return head; 返回一个头指针有什么作用?
}
main()
{
linklist newlist=create();
do{
printf("%c",newlist->data);
newlist=newlist->next;
}while(newlist!=NULL);
}
...全文
110 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
Steven_0610 2009-08-09
  • 打赏
  • 举报
回复
帮顶
mstlq 2009-08-09
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 tlx20093a 的回复:]
r=head=p;为什么不能分开写,r=head,head=p;
r指向head原来指向的元素地址,然后头指针指向P;是这样理解吗?
r->next=p;
r=p;小弟有点没理解
[/Quote]

分开来写是 head=p; r=head;
baihacker 2009-08-09
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 tlx20093a 的回复:]
r=head=p;为什么不能分开写,r=head,head=p;
r指向head原来指向的元素地址,然后头指针指向P;是这样理解吗?
r->next=p;
r=p;小弟有点没理解
[/Quote]
r=head,head=p;
是从左向右计算的...先让r=head,再让head=p;
这样r就不知道指向哪了...
r->next=p;
r=p;小弟有点没理解
把p放到尾部,让尾部指针r移到p
tlx20093A 2009-08-09
  • 打赏
  • 举报
回复
r=head=p;为什么不能分开写,r=head,head=p;
r指向head原来指向的元素地址,然后头指针指向P;是这样理解吗?
r->next=p;
r=p;小弟有点没理解
robbled 2009-08-09
  • 打赏
  • 举报
回复
返回头指针就是返回这个链表的入口地址,你可以通过调用此函数得到此地址,然后通过此地址输出你所创建的链表数据。
Nio96 2009-08-09
  • 打赏
  • 举报
回复
head=NULL;
r=NULL;
你的r和head都没有关系的? 返回head有什么意义呢?

另外返回头指针就是这个链表的入口, 当然有用
baihacker 2009-08-09
  • 打赏
  • 举报
回复
#include <stdio.h>
typedef struct node{
char ch;
struct node *next;
}listnode;
typedef listnode *linklist;
listnode *p;



linklist create()
{
char ch;
linklist head;
listnode *p,*r;
head=NULL;
r=NULL;
while((ch=getchar())!='\n'){
p=(listnode*)malloc(sizeof(listnode));
p->ch=ch;
if(head==NULL)
{
r=head=p;
}
else
{
r->next=p; //这里有问题,求大侠帮忙解决
r=p;
}
if(r!=NULL)r->next=NULL;
}
return head; //返回一个头指针有什么作用?
}


main()
{
linklist newlist=create();
do{
printf("%c",newlist->ch);
newlist=newlist->next;
}while(newlist!=NULL);
}

69,382

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧