请问我在用C语言编写一个单链表的插入函数,麻烦大家帮我看看有什么问题,在线急等

void inset_after(linklist *head) //向单链表里插入数据
{
linklist *q=head,*s,*p;
char x;
int i,j;
printf("请输入你要插入的节点!");
scanf("%d",&i);
printf("请输入你想要插入的数据!");
scanf("%c",&x);
getchar();
s=(linklist *)malloc(sizeof(linklist));
s->data=x;
j=1;
while((p->next!=NULL) && (j<i))
{
p=p->next;
j++;
}
if(p==NULL)
{
exit(0);
}
else
{
s->next=p->next;
p->next=s;
}

}

你是用q指向链表头节点,又不是用p
怎么用p去向后寻找i的位置。
温馨提示:答案为网友推荐,仅供参考
相似回答