void deleted()
{
char s[80];
struct addr *p1,*p2,*info;
printf ("enter name:");
gets(s);
info=find(s);
if(info!=NULL)
{
if (head==info)
{
head=info->next;
printf ("deleted :%s\n",info->name);
free(info);
}
else
{
p1=head->next;
while(info!=p1)
{
p2=p1;
p1=p1->next;
}
p2->next=p1->next;
printf ("deleted:%s\n",info->name);
free(info);
}
}
else
printf ("%s not find!\n",info->name);
}
删除是通过哪个代码实现的?题中我认为是通过删除p2来达到删除s[80]里面的记录的。但是却找不到p2与s[]之间的联系。
请大侠详细解释一下!!!谢过
struct addr
{
char name[30];
char street[40];
char city[20];
char state[3];
char tel[11];
struct addr *next;
}