Только что началось с создания связанного списка в 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' только тогда, когда связанный список не пуст). Но даже если я проверил на наличие пустых списков, я забыл инициализировать узел для 'first' и поэтому работал в NULL. – MoonStruckHorrors