首页 新闻 搜索 专区 学院

C语言编程中循环语句中输入输出无法正常进行

0
悬赏园豆:20 [待解决问题]

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录入成功!!!!");
}

 

 

这个循环语句执行到第二次循环时前三项为啥会同时输出,也就是没法对商品编号,商品名称进行输入

天谴的主页 天谴 | 初学一级 | 园豆:197
提问于:2017-09-26 11:18
< >
分享
所有回答(1)
0

逻辑错误?

C先森 | 园豆:204 (菜鸟二级) | 2017-09-26 18:09

什么意思,能具体说说吗?

 

支持(0) 反对(0) 天谴 | 园豆:197 (初学一级) | 2017-09-26 18:10

第一次执行没有毛病啊,

nu=2时,只能执行一次,第二次没法执行

支持(0) 反对(0) 天谴 | 园豆:197 (初学一级) | 2017-09-26 18:15
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册