insert a node at nth position in c ; whats wrong in this :  Node* InsertNth(Node *head, int data, int position) {
int i; 

struct Node *h=head; 

struct Node *p=(struct Node *)malloc(sizeof(struct Node));

p->data=data;

for(i=0;i<position ;i++){   

    h=h->next;

}
 p->next=h;

  h=p;

if(position==0){

return h;

}
else 
    return head;
}