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

求助!c语言for循环里的scanf怎么用?

求助!c语言for循环里的scanf怎么用?

肥皂起泡泡 2021-02-18 15:11:57
c语言for循环里的scanf怎么用?
查看完整描述

2 回答

?
不负相思意

TA贡献1777条经验 获得超10个赞

因为你非常有可能每输入一个字符就按了一次回车,而回车其实也是一个字符。

scanf("%c",char[i]);语句后加上一句getchar();就可以啦!
如果前面有输入数据的情况。把getchar();放在
scanf("%c",char[i]);之前。

查看完整回答
反对 回复 2021-03-16
?
LEATH

TA贡献1936条经验 获得超6个赞

肯定是因为game()函数里有scanf语句,并且scanf之后没有处理scanf留下的换行符。
scanf从屏幕是读取数据时,往往不会自动读掉行尾的换行符(你输入数据后,肯定会按一个回车的对吧),所以在game函数里的最后一个scanf结束后,输入缓冲区里还一个换行符在里面,这个时候main函数里的scanf函数读到的字符就是那个换行符
解决方法:
在game函数的最后一个scanf函数后面,加上一个gets语句,用来读掉最后一个换行符即可,当然如果你的输出里敲了多个回车,就要执行多句。

查看完整回答
反对 回复 2021-03-16
  • 2 回答
  • 0 关注
  • 579 浏览

添加回答

举报

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