问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C语言错误问题求助,

发布网友 发布时间:2023-04-03 10:42

我来回答

2个回答

热心网友 时间:2024-12-03 08:05

你的C语言链表程序,我帮你改完了,你看看吧.(改动的地方见注释)

主要是创建链表函数CreateListR的参数LinkNode *&L定义有问题多了一个&符,还有就是函数CreateListR中少写了一句r=s;

# include<stdio.h>
# include<malloc.h>
# define MaxSize 50
typedef char ElemType;
typedef struct LNode
{ ElemType data;
 struct LNode *next;
 int length;
}LinkNode;
void CreateListR(LinkNode *L,ElemType a[],int n);
bool ListInsert(LinkNode *L,int i,ElemType e);
bool ListDelete(LinkNode *L,int i,ElemType *e);
void DispList(LinkNode *L);
int main()
{
LinkNode *L;
ElemType e;
char a[5]={'a','b','c','d','e'};
L=(LinkNode *)malloc(sizeof(LinkNode));
L->length=0;
CreateListR(L,a,5);
if(ListInsert(L,4,'f'))printf("插入成功\n");  //这里加一个换行符\n
if(ListDelete(L,3,&e))printf("第三个元素%c删除成功\n",e);//这里加一个换行符\n
 DispList(L);
 return 0;
}
void CreateListR(LinkNode *L,ElemType a[],int n)//这里LinkNode *&L,改成LinkNode *L,
{ LinkNode *s,*r;
 r=L;
 for(int i=0;i<n;i++){
    s=(LinkNode *)malloc(sizeof(LinkNode));
  s->data=a[i];
  r->next=s;
  r=s; //这里加一句
 }
 r->next=NULL;
}
bool ListInsert(LinkNode *L,int i,ElemType e)
{ int j=0; 
 LinkNode *p=L;LinkNode *s;
 if(i<=0)return false;
 while(j<i-1&&p!=NULL)
{
 j++;
 p=p->next;
}
 if(p==NULL)
 return false;
 else
 { s=(LinkNode *)malloc(sizeof(LinkNode));
 s->data=e;
 s->next=p->next;
 p->next=s;
 return true;
 }
}
bool ListDelete(LinkNode *L,int i,ElemType *e)
{ int j=0;
 LinkNode *p=L,*q;
 if(i<=0)return false;
 while(j<i-1&&p!=NULL)
 { j++;
 p=p->next;
 }
 if(p==NULL)
 return false;
 else
 { q=p->next;
 if(q==NULL)
 return false;
 *e=q->data;
 p->next=q->next;
 free(q);
 return true; 
 }
}
void DispList(LinkNode *L)
{ LinkNode *p=L->next;
 while(p!=NULL)
 { printf("%c",p->data);
 p=p->next;
 }
 printf("\n");
}

运行结果
插入成功
第三个元素c删除成功
abfde

热心网友 时间:2024-12-03 08:05

函数声明的地方写错了,void CreateListR(LinkNode *L,ElemType a[],int n); 要改成 void CreateListR(LinkNode *&L,ElemType a[],int n);
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
提升学历选自考好还是成考好 成考和自考的文凭哪个好 2024年成人自考和成人高考哪个更好 家用净水器滤芯类型有哪些 家用净水器什么滤芯好 请问在VB中如何调用多线程? 交强险理赔后第二年上涨吗? 交强险出一次险第二年保费多出多少? 全家人都爱吃的家常菜目录 丽台Quadro P5000专业图形显卡-购买最佳价格 ...已经在线性表中插入了一个元素,为什么表的长度还是为0? 损益电费是怎么算出 正三棱锥是什么 本人想考香港城市大学的建筑系研究生 不知道雅思要考多少分 还有应该准 ... 刘永军的个人经历 PROPOWER宠物狗粮到底哪家是正宗的? 现代教育技术专业代码 连锁经营管理师证书怎么考 鬼狐新传歌词 2023最火励志诗句 像旧日的情怀是什么歌 帮客帮车贷不想还了 不详的代表作有哪些 怎么才能有钱(让你变有钱的5个方法) 为什么演员工资才7千元现在就变成富人 半分钟古代怎么说 半分钟英语演讲大概多久 梦见朋友请我和她亲戚吃饭的预兆 梦见家里人请亲戚吃饭的预兆 果粉始料未及,iPhone 14配置被砍、外观无悬念,还是“十三香” 为什么QQ总是提示修改密码?但要改不了,? 苹果手机如何设置重力感应? 酱香蹄脚如何烹饪?需要哪些调料 助人惹怨解释是什么 助人惹怨,嫉妒常伴来。是啥意思 8螺纹钢盘螺1吨有多少米 state与status的区别 statue stature status state statue 有什么区别 陈情表读音 陈情表本图什么达?拼音怎么写 哪里能再线看电视??? 哪有再线观看电视剧《刻骨铭心的爱》的网站 哪里能再线看电视? 怎样才能再线观看电视剧 电脑再线看电视剧总卡怎么回事 长春顺丰快递电话号码多少啊? 部编版七年级第一单元作文范文 一个三棱锥沿着一条直线旋转,它的形状是 取暖器调温二极管怎样接线 取暖器降压二极管可以用什么替换