上面的源代码为什么输入q的时候,程序就会退出呢?

while(条件语句),status == 1是条件语句,status只要是非0值的时候,status == 1的条件就满足,程序就会运行while循环中的块。

根据scanf()函数读取输入的规则知道,"%ld"是要读取一个长整型的数据,所以scanf()函数希望发现一个数字字符或者是一个符号(+或-),如果找到一个数字或字符,它便保存该字符,再读取下一个字符,一直读取4个字符(我编译器的ld长整型是4个字节)为止。如果scanf()函数在读取这四个字符之内碰到了非数字字符或非符号的字符,那么它会停止读取。把之前读取到的字符赋给变量。这个解释可以查看《C Primer Plus 第六版 中文版》书上详细介绍了scanf()函数读取字符的规则,在书94页的标题1.从scanf()角度看输入 这一段中。有兴趣的可以找电子书读一下。

为什么输入q,status就等于0呢?

因为scanf()函数没有读取到数字字符或者符号(+或-),所以返回一个0值。《C Primer Plus 第六版 中文版》书95页的标题3.scanf()的返回值 这一段有详细介绍

最新文章

  1. java 成长之路
  2. SublimeText个性化快捷键设置
  3. 苹果Home键恢复(无工具篇)
  4. [UWP]涨姿势UWP源码——IsolatedStorage
  5. OC语言@property @synthesize和id
  6. MS SQL SERVER索引优化相关查询
  7. alt属性和title属性差异---终于分清楚了!
  8. Chrome浏览器跨域问题
  9. HDU 4919 Exclusive or (数论 or 打表找规律)
  10. 【HDOJ】2054 A == B ?
  11. Android开发之Activity(活动)
  12. 熬之滴水穿石:Spring--精简的J2EE(5)
  13. Ubuntu16.04安装使用wineqq
  14. python调用 sshpass
  15. windows下navicate for mysql 零填充不显示
  16. PHP微信公共号自定义菜单。
  17. Mythological VI
  18. ProtoBuffer使用笔记
  19. 安装配置Android开发环境SDK
  20. 修改zabbix为中文,并解决乱码问题(三)

热门文章

  1. 从哈希结构去理解PHP数组
  2. mySQL授权(让从服务器用户可以登录到主服务器)
  3. TCP/IP协议之分层
  4. js中奇怪的问题 同步ajax,modal遮罩层
  5. 高阶篇:4.1.1)QFDI(客户需求转换为设计要求)
  6. 高阶篇:4.1.2.2)产品部件级别的QFDII
  7. python 封装,隐藏属性,绑定方法classmethod和staticmethod
  8. J15W-J45W黄铜截止阀厂家,J15W-J45W黄铜截止阀价格 - 专题栏目 - 无极资讯网
  9. 我的Python升级打怪之路【六】:面向对象(一)
  10. 利用rem解决移动端响应适配问题