C语言:scanf()语句错误读取
输入:1 2 3 4 q 5 6 7 8 9
输出:1 2 3 4 4 4 4 4 4 4
或
输入:1 2 3 4 q
输出:1 2 3 4 4 4 4 4 4 4
要解决这个问题需要在循环中添加一个清空缓存的语句
fflush(stdin);
但这样scanf()每次只能读取一个数,因此需要用enter来间隔。
输入:1 2 3 4 q 5 6 7 8 9
输出:1 2 3 4 5 6 7 8 9
(因为再输入q时,scanf()未读取q,但i仍加1,因此只输入9个数就完成程序)
没有相关文章
· [ASP.NET].net知识结构
· [VB.NET]VB.NET委托的使用
· [C#]c# Winform 保存修改后的配置
· [ASP.NET]ASP运行环境--.NetBox
· [C#]C#特性学习与使用
· [ASP.NET]asp.net使用Mysql乱码处理
· [C#]把Array说透
· [VB.NET]VB中用ADO对象动态创建数据库和表
· [C#]winform c#写ini文件
友情推荐链接


·专题:c指针编程指南
·认识全文检索引擎架构 Lucene
·深度理解Struts 2 框架
·集成开发环境 Eclipse 提高篇
·各种关系型数据库死锁的解决方案
·深入浅出讲解轻型数据库系统
·浅水也能摸鱼--JAVA虚拟机
·QT编程基础入门到精通
·汇编语言的准备知识(1)
·Java EE 6规范中文版