C the problem of recursive pointer of flipped single-linked table

this is a linked list recursive flip.

at line 146, newNode, list- > next, newNode- > next- > next, all three addresses are the same.
but after 146lines list- > next = NULL only changes the content of newNode- > next- > next

Why didn"t newNode become NULL? doesn"t it modify the value of memory directly

Menu