第一次插入没问题,但是第二次插入会改变链表内容
int Location(PLinkList L,DataType x) //按名称查找
{
PLinkList p;
p=Init();
for(p=L->next; p&&strcmp(p->data->name,x->name); p=p->next);
if(p) return 1;
else return 0;
}
int Insert(PLinkList L,DataType x) //上架
{
PLinkList p;
if(!L)
{
printf("表不存在!");
return (-1);
}
if(!Location(L,x))
{
p=Init();
p->data=x;
p->next=L->next;
L->next=p;
return 1;
}
else
{
printf("该商品已存在!\n");
return 0;
}
}
printf("请输入待上架商品名称\n");
scanf("%s",tem.name);
printf("请输入待上架商品数量\n");
scanf("%d",&tem.number);
printf("请输入待上架商品价格\n");
scanf("%f",&tem.price);
Insert(G,&tem);