麻烦大家帮我看看,我用C语言编写的单链表有什么错误,在线急等!!!

#include<stdio.h>#include<stdlib.h>typedefstructlist_node{chardata;structlist_node*ne... #include <stdio.h>
#include <stdlib.h>
typedef struct list_node
{
char data;
struct list_node *next;
}linklist;

linklist *creatlist_rear() //尾插入法建立单链表
{
char ch;
linklist *head,*s,*r;
head=NULL;
r=NULL;
ch=getchar();
while(ch!='#')
{
s=(linklist *)malloc(sizeof(linklist));
s->data=ch;
if(head==NULL)
{
head=s;
}
else
{
r->next=s;
}
r=s;
ch=getchar;
}
if(r!=NULL)
{
r->next=NULL;
}
return head;
}

void displaynode(linklist *head) //打印链表里的数据
{
linklist *p=head;
int j=1;
while(p!=NULL)
{
printf("%5d%10c\n",j,p->data);
p=p->next;
j++;
}
}

void deletememory(linklist *head) //释放链表里的数据
{
linklist *p=head,*pr=NULL;
while(p!=NULL)
{
pr=p;
p=p->next;
free(pr);
}
}

int main()
{
int i=0;
linklist *head=NULL;
printf("请输入数据,按井号键结束\n");
head=creatlist_rear();
displaynode(head);
deletememory(head);

}
展开
 我来答
jhanker
推荐于2016-03-30 · TA获得超过1478个赞
知道小有建树答主
回答量:675
采纳率:73%
帮助的人:494万
展开全部

好像没什么大问题,只是粗心问题,代码的执行逻辑没有看但,好像结果正确的,改后的注释在代码上,希望对你有帮助!

#include <stdio.h>
#include <stdlib.h>
typedef struct list_node
{
    char data;
struct list_node *next;
}linklist;
linklist *creatlist_rear()   //尾插入法建立单链表
{
    char ch;
linklist *head,*s,*r;
head=NULL;
r=NULL;
ch=getchar();
while(ch!='#')
{
  s=(linklist *)malloc(sizeof(linklist));
s->data=ch;
if(head==NULL)
{
  head=s;
}
else
{
  r->next=s;
}
r=s;
ch=getchar();//这句少了个()变成赋值变量了
}
if(r!=NULL)
{
  r->next=NULL;
}
return head;
}
void displaynode(linklist *head)   //打印链表里的数据
{
    linklist *p=head;
int j=1;
while(p!=NULL)
{
  printf("%5d%10c\n",j,p->data);
p=p->next;
j++;
}
}
void deletememory(linklist *head)   //释放链表里的数据
{
    linklist *p=head,*pr=NULL;
while(p!=NULL)
{
  pr=p;
p=p->next;
free(pr);
}
}
int main()
{
    int i=0;
linklist *head=NULL;
printf("请输入数据,按井号键结束\n");
    head=creatlist_rear();
displaynode(head);
deletememory(head);
return 0;//最好加上这句
}

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式