剛剛在C中創建鏈接列表開始。在returnLastNode的代碼中獲取運行時錯誤。我怎麼知道?當它被註釋掉時運行良好。鏈接列表中的問題
問題#1我在做什麼錯?
代碼爲我returnLastNode
功能
struct Node* returnLastNode(struct LinkedList *ll) {
struct Node *n = ll->first;
struct Node *result;
while(1) {
if(n->next == NULL) {
result = n;
break;
} else {
n = n->next;
}
}
return result;
}
的使用struct
的定義。
struct Node {
int val;
struct Node *next;
};
struct LinkedList {
struct Node *first;
};
LinkedList.h
這裏,如果需要/感興趣。
https://github.com/MoonStruckHorrors/LinkedListC/blob/master/LinkedList.h
問題2如何新手應該調試運行時錯誤?
此外,任何其他建議表示讚賞。 :)
感謝您的提示。我正在檢查我的插入函數中的空列表(只有當鏈表非空時才使用'returnLastNode')。但即使我在那裏檢查了空的列表,我忘記初始化一個節點爲'第一',因此,在NULL上運行。 – MoonStruckHorrors