在while循環結束之前,如何在此代碼上komv-> next變爲NULL? 我注意到,在這個線路城鎮 - > previous-> next = town-> next後變爲NULL,但我不明白爲什麼發生這種情況。程序以分段故障結束。更改一個指針會影響其他指針
komv=list->First;
while ((komv->next)!=NULL)
{
if(town->num>=komv->next->num)
{
town->previous->next=town->next;
if(town->next!=NULL)
town->next->previous=town->previous;
town->next=komv->next;
town->previous=komv;
komv->next->previous=town; // gdb say komv->next=NULL
komv->next=town;
break;
}
komv=komv->next;
}
鎮是已在列表 – seinta 2014-10-29 14:25:36
這條線的節點:當((komv->旁邊)= NULL)應該是同時(komv! = NULL),然後修改循環的其餘部分以基於當前鏈接列表節點。那麼只進入下一個節點'komv = komv-> next;'在循環結束時 – user3629249 2014-10-30 00:30:14