还是那个程序,为什么追加数据后,头指针会不明不白的丢失!?
#include"STDIO.H"#include"CONIO.H"
#include"STDLIB.H"
#include"DEF_TYPE.H"
struct tel_node *Add_Node(struct tel_node *head)
{
struct tel_node *tail,*p_new;
char name[20];
char tel_code[11];
system("cls");
printf("姓名\t电话号码:");
scanf("%s%s",name,tel_code);
putch('\n');
p_new=(struct tel_node *)malloc(sizeof(struct tel_node));
strcpy(p_new->name,name);
strcpy(p_new->tel_code,tel_code);
p_new->next=NULL;
if(head==NULL)
{
head=p_new;
}
else
{
tail=head;
while(tail->next!=NULL)
{
tail=tail->next;
}
tail->next=p_new;
}
return(head);
}
以前那个问题我解决了,那是因为结构体指针没有申请空间。现在另一个文件又有一个新的问题,就是,一旦输入了新的节点数据,头指针就会莫名其妙的丢失!新的链表总是从第二个节点开始。各位同学请帮帮忙,看看是什么问题?谢谢!!!!!!