可爱的楼主,把编译错误代码贴上来吧,要是逐行去看你的代码,那还不如我自己重新写一个来的实在了~~~~~~~
有意思的是,边赋值边生产结点。
我亲自测试了下这种方法完全正确,只不过应该取消注释// p->next = NULL;
不过用判断文件流结束来建立链表似乎长度不能确定?
/********
char name[20];
printf("\n请输入商品名称(输入E结束): ");
scanf("%s",name);
if (strcmp(name,"E") == 0)
break;
//判断商品名称是否被包含在已知商品中
int num, flag = 0;
for (p = head; p->next != NULL; p = p->next)
{
if (strcmp(name,p->name) == 0)
{
flag = 1;
break;
}
}
if (flag == 0)
{
printf("\n该商品不存在,请重新输入。\n\n");
shopping(a);
}
if (p->kucun == 0)
{
printf("该商品目前无货,请选购其他商品。\n");
continue;
}
*********/
程序和逻辑都是混乱的。
.............
语义不明,“重新输入”后为什么不是循环,却后跟shopping(a)?
continue是跳转回到哪里去?for循环?
累了.