struct person *creat(void)
//录入信息,生成链表的函数//
{
head=NULL;
struct person *p,*q;
int flag=1,n=0;
while(flag==1)
{
p=(struct person *)malloc(LEN);
n++;
printf("请输入成员编号:");
scanf("%s",p->num);
printf("请输入成员姓名:");
scanf("%s",p->name);
printf("请输入成员年龄:");
scanf("%s",p->age);
printf("请输入成员电话:");
scanf("%s",p->tele);
printf("请输入成员地址:");
scanf("%s",p->addr);
printf("请输入成员邮箱:");
scanf("%s",p->email);
if(n==1)
q=head=p;
else
---------------------------------------》
这个else
就莫名奇妙了
不要了把
n 变量也不用了,
你这个函数就办一件事情
开辟节点
初始化链表头数据
{q->next=p;
q=p;}
printf("继续录入输入1,否则输入0:");
-------------------------------->
这个就不要了把
反正你的flag
什么作用都木有
scanf("%d",&flag);
}
return(head); ---------------------------------------------------------------------》
这个return 语句就算了,给全局变量赋值,不需要的 ,再说 你这个函数的返回值也没有被用到
无所谓的
}