I figured it out using a recursive function. whatWhat it does is it loops through the linked list until the end, creating a recursion tree, then executes the print in reverse, when going down the recursion tree.
void ReversePrint(Node *head)
{
if (head == NULL) {
return;
}
// recursion tree. loops through until end of linked list
ReversePrint(head->next);
// once the recursive is done, then prints head->data going back down the recursion tree.
printf("%d\n", head->data);
}