链表循环里
比如L是带头节点的单链表
循环单链表一般都是
list p=(list)malloc(sizeof(link));
p=L->next;
while(p)
{
printf("%d ",p->data);
p=p->next;
}
为什么节点值没有一个一个被覆盖掉,下一次遍历还存在啊。
比如L 这个链表里面值分别是 1,2,3,4,5,按照p=p->next不应该是1这里的节点被2代替,2被3代替了么,求解求解,以前写代码就只是写写没有思考过。。。
还有
单链表构建栈反向输出链表节点值
void print(list p)
if(p->next!=0)
print(p->next);
printf("%d",p->data);}
它为什么可以输出最后一个节点以外值不应该输出了最后一个节点值就跳出程序么