求大神,为什么会这样?

qq_40197340 2017-09-13 05:06:12

getchar();为什么没有执行?
...全文
89 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
OldHello 2017-09-13
  • 打赏
  • 举报
回复
第一个scanf需要按下回车键才能读入,但是读入后,这个回车键还在输入流里,所以,如果下一个还是读入字符,就会把这个回车键读进去。 getchar()在输入缓冲区顺序读入一个字符(包括空格、回车和Tab). 第一次getchar()时,需要人工的输入,但是如果你输了多个字符,以后的getchar()再执行时就会直接从缓冲区中读取。
自信男孩 2017-09-13
  • 打赏
  • 举报
回复
应该在scanf("%d", &n);后面在加一句getchar();若不加这句getchar();下面的b获得就是回车符;
幻夢之葉 2017-09-13
  • 打赏
  • 举报
回复
getchar(); b = getchar(); getchar(); 上一次读取还遗留了一个换行符

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧