static void just_traverse(sll **head_ref) {
sll *first = *head_ref;
sll *second = (*head_ref)->next;
if(second == NULL) {
return;
}
just_traverse(&(second));
*head_ref = second;
printf("%d \t",second->payload);
}
上記のコードで*head_ref=secondを削除すると; スタックに関して出力を取得しますが、この行を入力すると* head_ref = second; {4,3,2,1}と言う最後の要素を常に出力し、次に常に1を出力しますか?誰かが理由を説明できますか?