Сторнирование односвязного списка в C [дубликат]

Возможный дубликат:

Как перевернуть односвязный список, используя только два указателя?

Это код C, чтобы перевернуть связанный список. Но это нет производства желаемого результата.

struct node *temp,*prev;
while(head->next!=NULL)
  {
    temp=prev=head;
    while(temp->next->next!=NULL)
      {
    temp=temp->next;
    prev=prev->next;
      }
    temp=temp->next;
    temp->next=prev;
    prev->next=NULL;
  }

Что мне не хватает?

Ответы на вопрос(2)

Ваш ответ на вопрос