Я пытался отследить этот код, но в последнем рекурсивном вызове я получил другой результат, тогда как этот код работает нормально;как?
//function to reverse linked list implemented stack recursively
void stack_reverse(struct node **head, struct node **head_next)
{
struct node *temp;
if (*head_next != NULL)
{
temp = (*head_next)->next;
(*head_next)->next = (*head);
*head = *head_next;
*head_next = temp;
stack_reverse(head, head_next);
}
}