连接失败
谁帮我看看上面代码哪里错了向一个链表(head为头结点指针)追加3个节点,到了第二次就在while循环了,是怎么回事?
struct STR *p1,*q1,*q2;
int flag;
for(i=0;i<3;i++)
{ p1=(struct STR*)malloc(sizeof(struct STR));
memcpy(p1->str,str,strlen(str));
p1->next=NULL;
q1=q2=head;
flag=0;
while(1)
{
printf("111\n");
if(q1==NULL)
{
if(flag==0)
{
head=p1;
}
else
{
q2->next=p1;
}
p1=p1->next;
break;
}
else
{
flag++;
q2=q1;
q1=q1->next;
}
}
}
谁帮我看看上面代码哪里错了
向一个链表(head为头结点指针)追加3个节点,到了第二次就在while循环了,是怎么回事?