程序出错,之显示第一个字符

heavenboya 2011-11-18 08:19:04
#include<stdio.h>
#include<stdlib.h>

typedef struct node{
char data;
struct node* next;
}listnode;
typedef struct node* linklist;

linklist createlist(void);
void insertlist(linklist,char,int);
void dellist(linklist,int);

linklist createlist(void){
linklist p;
linklist head,rear;
head=NULL;
rear=NULL;
char ch;
while((ch=getchar())!='\n'){
p=(linklist)malloc(sizeof(listnode));
p->data=ch;
if(head==NULL)
head=p;
else
rear->next=p;
rear=p;
if(rear!=NULL)
rear->next=NULL;
}
return head;
}
void insertlist(linklist head,char data,int i){
linklist s,p=head;
int j=0;
while(p!=NULL && j<i-1){
p=p->next;
j++;
}
if(p==NULL || j>i)
exit(1);
s=(linklist)malloc(sizeof(listnode));
s->data=data;
s->next=p->next;
p->next=s;
}
void dellist(linklist head,int i){
linklist p=head,r;
int j=0;
while(p!=NULL && j<i-1){
p=p->next;
j++;
}
r=p->next;
p->next=r->next;
free(r);
}
int main(void){
linklist newlist=createlist();
insertlist(newlist,"ZX",3);
dellist(newlist,4);
while(newlist!=NULL){
printf("%c",newlist->data);
newlist=newlist->next;
return 0;
}
}
只能显示出第一个字符,例如输入abcdfg,只能显示a
...全文
72 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
heavenboya 2011-11-18
  • 打赏
  • 举报
回复
谢谢大家
huanzhile 2011-11-18
  • 打赏
  • 举报
回复
建议LZ写成while()
{
}这种形式
KNIGHTHB 2011-11-18
  • 打赏
  • 举报
回复
顶楼上
SVKING 2011-11-18
  • 打赏
  • 举报
回复
return 0;的位置放错了。最后应该是:

}
return 0;

}
楼主要细心点啊,这种错误还是让人很痛苦的
liuzhi1218 2011-11-18
  • 打赏
  • 举报
回复
return 0;放到while循环体内了,循环第一次之后程序返回了。

70,037

社区成员

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

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