不知道你遇见过没有

starcloudmountain 2003-07-13 09:09:05
在c中是不是scanf()和getchar()等输入函数不好用。有时候好像不起作用啊?
...全文
45 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
cft007 2003-07-13
  • 打赏
  • 举报
回复
是有可能出现好像没有用的情况,我与见过,不过实际上是因为如果第一个scanf()的执行有错误,比如格式错误,下面的就会被跳过。在保险的办法,就是清空缓存区。
playboyxp 2003-07-13
  • 打赏
  • 举报
回复
没什么不好用吗
null2002 2003-07-13
  • 打赏
  • 举报
回复
我也遇到过这种情况。
我用的是fflush()清空缓冲区。
antijpn 2003-07-13
  • 打赏
  • 举报
回复
主要是缓冲区的问题,scanf和getchar在使用之后如果不手动刷新缓冲区的话,上一次输入的回车很有可能留在缓冲区里面

手动刷新缓冲区或者用scanf的%s把东西读出来也可以
friefnd006 2003-07-13
  • 打赏
  • 举报
回复
对的,我还没注意到。。。惭愧惭愧!!!!!
1cs1ak1 2003-07-13
  • 打赏
  • 举报
回复


char a[6] = "";
for(i = 0; i <5; i++)
{
printf("input:");
scanf("%c", &a[i]);
// getchar();
}
你会发现出2个input:,因为scanf()把回车也算了一次。
所以加个getchar()得到回车,可以避免。


yzykjh 2003-07-13
  • 打赏
  • 举报
回复
是你程序分支语句问题吧!
jscsqb 2003-07-13
  • 打赏
  • 举报
回复
好用的,你单步调试一下,看看具体原因
starcloudmountain 2003-07-13
  • 打赏
  • 举报
回复
我在做操作系统课程设计时,用这两个函数想使程序在某个位置暂停一下,可是他们有时起作用,有时不起作用。
Chrisma 2003-07-13
  • 打赏
  • 举报
回复
新手:很好用

70,037

社区成员

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

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