for (i = 0;i < nu;i++)
{
printf("\n\t\t请输入商品编号:");
scanf("%d", &no);
/*检测作品编号是否重复*/
while (p != NULL)
{
if (strcmp(p->no, no) == 0)
{
printf( "已经有相同编号的商品");
return;
}
else
{
q = p;p = p->next;
}
}
r = (Opi)malloc(sizeof(Opi)); /*创建一个新的文件存储位置*/
r->next = NULL;
if (r == NULL)
{
printf( "分配空间失败!");
return;
}
if (q == NULL)
{
head = r;
}
else
{
q->next = r;
}
strcpy(r->no, no);
printf("\n\t\t商品名字:");
scanf("%s", r->name);
//getchar();
printf("\n\t\t生产厂家:");
scanf("%s", r->ma);
//getchar();
printf("\n\t\t售货价格(元):");
scanf("%d", &r->sp);
//getchar();
printf("\n\t\t进货价格(元):");
scanf("%d", &r->bid);
printf("\n\t\t录入成功!!!!");
}
这个循环语句执行到第二次循环时前三项为啥会同时输出,也就是没法对商品编号,商品名称进行输入
逻辑错误?
什么意思,能具体说说吗?
第一次执行没有毛病啊,
nu=2时,只能执行一次,第二次没法执行