#include<stdio.h>
#include<stdlib.h>
struct node
{
int data;
struct node *next;
};
void func(struct node* );
int main()
{
struct node
*head
=(struct node
*)malloc(sizeof(struct node
)); struct node
*temp
=(struct node
*)malloc(sizeof(struct node
)); struct node
*first
=(struct node
*)malloc(sizeof(struct node
)); head->data=10;
head->next=temp;
temp->data=20;
temp->next=first;
first->data=30;
first->next=NULL;
func(head);
return 0;
}
void func(struct node *p)
{
if(p)
{
func(p->next);
}
}
I2luY2x1ZGU8c3RkaW8uaD4gCiNpbmNsdWRlPHN0ZGxpYi5oPiAKICAgIHN0cnVjdCBub2RlIAp7IAogICAgIGludCBkYXRhOyAKICAgc3RydWN0IG5vZGUgKm5leHQ7IAp9OyAKdm9pZCBmdW5jKHN0cnVjdCBub2RlKiApOwogICBpbnQgbWFpbigpIAp7IAogICAgc3RydWN0IG5vZGUgKmhlYWQ9KHN0cnVjdCBub2RlICopbWFsbG9jKHNpemVvZihzdHJ1Y3Qgbm9kZSkpOyAKIHN0cnVjdCBub2RlICp0ZW1wPShzdHJ1Y3Qgbm9kZSAqKW1hbGxvYyhzaXplb2Yoc3RydWN0IG5vZGUpKTsgCiAgc3RydWN0IG5vZGUgKmZpcnN0PShzdHJ1Y3Qgbm9kZSAqKW1hbGxvYyhzaXplb2Yoc3RydWN0IG5vZGUpKTsgCiAgIGhlYWQtPmRhdGE9MTA7IAogICBoZWFkLT5uZXh0PXRlbXA7IAogICB0ZW1wLT5kYXRhPTIwOyAKICAgdGVtcC0+bmV4dD1maXJzdDsgCiAgIGZpcnN0LT5kYXRhPTMwOyAKICAgZmlyc3QtPm5leHQ9TlVMTDsgCiAgICAgICBmdW5jKGhlYWQpOyAKcmV0dXJuIDA7IAp9Cgp2b2lkIGZ1bmMoc3RydWN0IG5vZGUgKnApIAp7IAogICBpZihwKSAKeyAgICAKICAgIHByaW50ZigiXG4lZCIscC0+ZGF0YSk7IAogIGZ1bmMocC0+bmV4dCk7IAp9IAp9