C语言程序问题? 200
第一张图是定义链表,第二张图是录入函数,第三张图是显示函数,我把这两个函数的内容直接放入main函数组成整段程序用选择运行时没有问题,现在老师要求做成函数的形式,做成两个...
第一张图是定义链表,第二张图是录入函数,第三张图是显示函数,我把这两个函数的内容直接放入main函数组成整段程序用选择运行时没有问题,现在老师要求做成函数的形式,做成两个函数后进行选择运行时出现错误,当我先用录入函数进行录入,然后显示函数无法显示录入信息,初步判断应该是在函数中链表的调用这方面出问题,具体不知道哪里出错,求大神解答,
展开
1个回答
展开全部
从你贴的片段,我只能看到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:这种问题请贴原码,而不是图片,而且要贴全。否则只能根据不完整片段给你分析问题。。。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询