第一段函数运行正确插入后为1 2 4 3;
改为第二段代码运行,结果为2 3 4
问题来了,注意我标出的地方p=(*L)
;第一段函数我用p做链表赋值给另一个链表元素操作第二段全替换为(*L)
链表賦值给另一个链表元素操作。为什么结果却不同了如果p是(*L)
的指针,结果应该相同;如果(*L)
只是给p赋值的话那么showlist()
函数应该显示(*L)
原链表赋值給另一个链表而不是修改过的p链表赋值给另一个链表?
我想问题主要是我对p=(*L);
的理解不够吧
首先说点题外话吧从第一次用CU箌现在已经两年多了,但是原创博文仅仅两篇原因是我将博文都投入到CSDN上去了。我有罪现在我迷途知返,我一定用心写出好文章 ============================================= 各位看官,先上源代码
第十行和十一行,与第九行只是写法不一样我们先声明变量*prev,再对其初始化注意第十一行中,变量prev2前沒有了*
我个人还是推荐第9行的写法,清晰明了不易出错