博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C Primer Plus note3
阅读量:4686 次
发布时间:2019-06-09

本文共 561 字,大约阅读时间需要 1 分钟。

上面的源代码为什么输入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()的返回值 这一段有详细介绍

转载于:https://www.cnblogs.com/lanshanxiao/p/5971129.html

你可能感兴趣的文章
选拔赛 I 点进来吧,这里有你想要的
查看>>
SQL 优化经验总结34条
查看>>
开源 视频会议 收藏
查看>>
核心J2EE模式 - 截取过滤器
查看>>
test1
查看>>
jquery ajax 局部table 刷新技术
查看>>
类的关联、组合、聚合关系
查看>>
binary hacks读数笔记(ld 链接讲解 二)
查看>>
SKPhysicsJoint类
查看>>
在Ubuntu下编译Qt错误及处理办法
查看>>
LVS-Keepalived高可用集群(DR)
查看>>
day3_python可变的类型、不可变的类型
查看>>
数据结构(3)-线性表顺序结构的合并操作
查看>>
6个html5页面适配iphone6的技巧
查看>>
Use Slim to overview model in Tensorflow like model.summary() in Keras
查看>>
《编写高质量代码--Web前端开发修炼之道》读书笔记
查看>>
Arduino超级马里奥游戏机
查看>>
Objective-C数组
查看>>
.net开源CMS
查看>>
你懂AI吗(1)
查看>>