C语言程序问题? 200

第一张图是定义链表,第二张图是录入函数,第三张图是显示函数,我把这两个函数的内容直接放入main函数组成整段程序用选择运行时没有问题,现在老师要求做成函数的形式,做成两个... 第一张图是定义链表,第二张图是录入函数,第三张图是显示函数,我把这两个函数的内容直接放入main函数组成整段程序用选择运行时没有问题,现在老师要求做成函数的形式,做成两个函数后进行选择运行时出现错误,当我先用录入函数进行录入,然后显示函数无法显示录入信息,初步判断应该是在函数中链表的调用这方面出问题,具体不知道哪里出错,求大神解答, 展开
 我来答
自我编程
2020-03-25 · 科技优质答主
自我编程
采纳数:1481 获赞数:4283

向TA提问 私信TA
展开全部

从你贴的片段,我只能看到List是struct Node *类型(结构指针),其成员ElementType是struct gongjiao类型(结构变量)。

你在luru函数中 ,使用的数组变量a应也是struct gongjiao类型,至于这个a在哪定义的我看不到,那就是全局变量。

从代码意思来看,l表示链表头节点或者首节点,n表示链表尾节点,m是新建的节点。你先在main中新建了2个节点,之后才调用了luru函数,而luru函数虽然传参了m,但自身又创建了新的地址给m,也就是说这个链表不管有无数据,至少有2个无数据的节点(就算用到头节点,无数据节点只要1个就够了)。另外你打印输出函数没有贴,按照正常写法,循环链表是用链表指针next==NULL来判断循环结束的,而你在创建链表过程中,并没有给尾节点的指针置NULL(也就是你每次创建的m->next应该给初值NULL)。除非你不使用这个指针做条件。

PS:这种问题请贴原码,而不是图片,而且要贴全。否则只能根据不完整片段给你分析问题。。。

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

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式