为了账号安全,请及时绑定邮箱和手机立即绑定

为什么点了一次添加图书Y之后,不管点Y还是N都跳不出while函数啊,求解?

为什么点了一次添加图书Y之后,不管点Y还是N都跳不出while函数啊,求解?

C
慕标5832272 2022-12-20 19:15:06
head=addbook(head);printf("添加成功!\n");printf("是否继续添加新图书(y/n)\n");scanf("%c",&j[0]);if(j[0]=='y')k=1;while(k!=0){head=addbook(head);printf("添加成功!\n");printf("是否继续添加新图书(y/n)\n");scanf("%c",&j[i]);i++;if(j[i]=='n')k=0;}int i=1;
查看完整描述

2 回答

?
郎朗坤

TA贡献1921条经验 获得超9个赞

因为在scanf("%c",&j[i]);之后你又将i++;这时j[i]中的值就不是你输入的值,再用if(j[i]=='n')
判断,当然有问题

查看完整回答
反对 回复 2022-12-25
?
绝地无双

TA贡献1946条经验 获得超4个赞

因为scanf("%c", &j[i]);接收了回车换行符号.
使用fflush(stdin);清除键盘缓冲区。

查看完整回答
反对 回复 2022-12-25
  • 2 回答
  • 0 关注
  • 64 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信