问题:

是否会遇到这样的问题,在while循环中 sanf("%d",&a);如果输入的不是数字,是字符就会进入死循环。

解决方案:
都是缓冲区惹的祸,输入字符后,字符会一直留在缓冲区,一直读取的是那个字符,所有会一直循环下去。
---------------------------------------------------

fflush(stdin); //清除缓冲,避免重复循环

--------------------------------------------------

在while循环前面加上这个就可以了。

最新文章

  1. SQL初级语句
  2. [WPF系列]-使用Binding来同步不同控件的Dependency property
  3. TPS40305 ——开关电源芯片20160901
  4. js滚动加载插件
  5. [渣译文] 使用 MVC 5 的 EF6 Code First 入门 系列:为ASP.NET MVC应用程序读取相关数据
  6. LeetCode "Valid Perfect Square"
  7. iOS 下拉刷新 上拉加载实现原理
  8. Js 循环结构
  9. SDK无法更新
  10. kafka configuration
  11. Android中服务的生命周期回调方法
  12. cron的用法
  13. 配置CNPM-基础案例
  14. Main(string[] args)之args传递的几种方式
  15. DirectX11--实现一个3D魔方(2)
  16. 用JavaScript比较两个数组是否相等
  17. 【转】如何在VMware上安装macOS Sierra 10.12
  18. 利用CSS、JavaScript及Ajax实现图片预加载的三大方法及优缺点分析
  19. C++ Primer学习笔记(二)
  20. Linux 命令 -- chmod

热门文章

  1. bzoj2822: [AHOI2012]树屋阶梯
  2. 基于XMPP实现的Openfire的配置安装+Android客户端的实现
  3. 经典SQL语句大全之提升
  4. hadoop小文件合并
  5. 在Linux下用netstat查看网络状态、端口状态
  6. try、catch、finally与return
  7. ASP.NET MVC 第五回 ActionResult的其它返回值
  8. Sharpdevelop使用StyleCop
  9. HTML5 WebAudioAPI简介(一)
  10. LaTeX 中插入数学公式