我在我的知识星球:“C语言解惑课堂”里的第一篇提出一个问题:【第1篇】【C语言基础】【unsigned short类型用于循环的一个难点】
要查看更多的C语言难点解析或者需要提问的同学,微信扫扫文末我的星球二维码加入吧!

一、【问题】

同学们,今天来道C语言比较有意思的题,C程序代码见下图。

for循环中我给了变量para一个初始值1,也让para自增1,但是没有指定for循环结束的条件。你觉得有问题吗?会不会是一个无穷尽的循环?如果有问题你打算怎么修改呢?

二、【解惑】

这个循环是会终止的,不会永远循环下去。

在我的PC机上,我使用sizeof求出了“unsigned short”类型变量是占用了两个字节,那么取值范围是“0-65535”。在这段C程序中,unsigned short类型变量para的初始值是1,只要它不是0,for循环就会一直执行。

在每次执行完printf函数后,变量para都会自增1,一直到para自增为65535,此时变量para再加1你可别以为会变成65536!你要知道此时变量para溢出了,又回到了取值范围的最小点:0。

变量para为0,那么此时for循环也就结束了,也就是说printf函数输出1到65535后程序结束!

三、“C语言解惑课堂”星球加入卡片

微信扫扫即可加入!

最新文章

  1. C#和Java中的Substring()
  2. Foundation框架
  3. JAVA反射实践
  4. 自己动手打造WEB服务器 Windows + Apache + PHP + MySQL
  5. MVC。Action方法,常用的返回类型有几种?
  6. apache日志切割
  7. su:认证失败
  8. 删除linux系统服务
  9. C# 运用params修饰符来实现变长参数传递
  10. Mybatis高级应用
  11. underscorejs-contains学习
  12. CTSC1999补丁VS错误题解
  13. Problem after converting keras model into Tensorflow pb - 将keras模型转换为Tensorflow pb后的问题
  14. java中String和StringBuffer的区别
  15. elementui异步后台校验表单,修改重复校验
  16. python中 除了if else def class 有作用域 其余没有作用域
  17. 一个无锁消息队列引发的血案(五)——RingQueue(中) 休眠的艺术
  18. web安全问题分析及处理
  19. UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 120: illegal multibyte sequence
  20. 移动端input验证只允许有数字 在safari浏览器一直不成功解决

热门文章

  1. windows开机自启python服务(任务计划程序+bat脚本)
  2. 【小家Spring】Spring IoC是如何使用BeanWrapper和Java内省结合起来给Bean属性赋值的
  3. JAVA AES文件加解密
  4. vs2010编译zapline-zapline.systemoptimization 注释工程中的//#define abs(value) (value >= 0 ? value : -(value))即可
  5. 微服务SpringCloud之熔断监控Hystrix Dashboard和Turbine
  6. [PTA] 数据结构与算法题目集 6-12 二叉搜索树的操作集
  7. springboot启动不设置端口
  8. Linux更换默认Security源
  9. python课堂整理14---函数式编程
  10. 搭建python环境