c语言链表问题?
发布网友
发布时间:2022-05-27 04:01
我来回答
共1个回答
热心网友
时间:2023-10-06 11:00
输入一个整数,如果不等于-1,就将其添加到链表里。
第一个数字输完后,p是指向第一个开辟的地址的。
接着将head值赋给last,此时直接跳到else里,head的值为开辟的第一个地址。
第二个数字输完后,p指向第二个开辟的地址。
接着将head值赋给last,last不为null,但是last->next是null,此时不执行while里面的语句,
而是将p,也就是此时第二个地址赋给last->next。
你说的没错,当第二个数字进去后 ,在输第一个数时已经head=p。然后node *last=head 此时last->next也就是head->next确实是等于null的,但是此时并没有进行while 里面的东西,而是执行下面的last->next = p;,将链表节点连起来。