В настоящее время я выполнил свою функцию, чтобы поменять связанный список, но когда я возвращаю указатель на заголовок нового связанного списка, я получаю ошибки, потому что я хранил его неправильно в своей основной. Может ли кто-нибудь объяснить мне правильный синтаксис для хранения и печати вновь связанного списка?Как сохранить указатель (узел), возвращаемый функцией, в мою главную?
typedef struct Node {
int val;
struct Node * next;
}LL_t;
LL_t reverse(LL_t* ls) // passing me a head
{
\\ my code
return ls; // pretty sure this is how I return the new head node
}
int main() {
\\ my code
LL_t *p = reverse(head); // not working, giving me these weird incompatible errors.
for (i = 0; i < 9; i++)
{
printf("*(p + %d) : %d\n", i, *(p + i));
}
return 0;
}
Вот моя последняя ошибка после изменения моего переменного указателя р и пытается PRINTF его
INT * р; p = обратный (головной)
Ошибка;
main.c: 42: 6: предупреждение: назначение из несовместимого типа указателя [включено по умолчанию] p = reverse (head);
Edit2:
Я попытался тис подход, но не работаю для меня:
for (p->val != NULL)
{
printf("%d\n", p->val);
p->val = p->next;
}
Не могли бы вы рассказать нам, что такое ошибка? И откуда начинается «голова»? –
Позвольте мне снять снимок экрана. – BeginnerC
да, sory я не мог загрузить, говорит, что pic был слишком велик, – BeginnerC