Хотя после написания кода и изучения его столько раз я получаю ошибку утверждения. Я не знаю почему. надеюсь, что вы, друзья, можете мне помочь. Это функцияПолучить nth Значение связанного списка в C
int GetNth(struct node* head, int index) {
Node* current = head;
int count = 0; // the index of the node we're currently looking at
while (current != NULL) {
if (count == index)
return(current->data);
count++;
current = current->next;
}
assert(0);
// if we get to this line, the caller was asking
// for a non-existent element so we assert fail.
}
это ошибка, которую я получаю.
GetNth: Assertion `0' failed.Aborted (core dumped)
Мои сомнения в том, что если удар с позиции, значение которого, как ожидается, почему бы из утверждения теста происходит? Поскольку уже существует оператор возврата цикла while, который выходит из функции.
Если я комментировать этот тест утверждения и, если есть попадание/промах с позицией, значение которого, как ожидается, она возвращает меня 0 каждый раз, когда вместо значения/нулем
Спасибо заранее!
Как вы называете эту функцию? Каковы значения аргументов? Сколько узлов в списке? –
Отправьте реальный код. Ваши фигурные скобки не совпадают в приведенном выше примере. – RedX
Функция сама по себе выглядит нормально, проверьте параметры, которые вы передаете. – starrify