【C语言基础】unsigned short类型用于循环的一个难点
2024-10-20 00:51:02
我在我的知识星球:“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语言解惑课堂”星球加入卡片
微信扫扫即可加入!
最新文章
- C#和Java中的Substring()
- Foundation框架
- JAVA反射实践
- 自己动手打造WEB服务器 Windows + Apache + PHP + MySQL
- MVC。Action方法,常用的返回类型有几种?
- apache日志切割
- su:认证失败
- 删除linux系统服务
- C# 运用params修饰符来实现变长参数传递
- Mybatis高级应用
- underscorejs-contains学习
- CTSC1999补丁VS错误题解
- Problem after converting keras model into Tensorflow pb - 将keras模型转换为Tensorflow pb后的问题
- java中String和StringBuffer的区别
- elementui异步后台校验表单,修改重复校验
- python中 除了if else def class 有作用域 其余没有作用域
- 一个无锁消息队列引发的血案(五)——RingQueue(中) 休眠的艺术
- web安全问题分析及处理
- UnicodeDecodeError: 'gbk' codec can't decode byte 0xae in position 120: illegal multibyte sequence
- 移动端input验证只允许有数字 在safari浏览器一直不成功解决
热门文章
- windows开机自启python服务(任务计划程序+bat脚本)
- 【小家Spring】Spring IoC是如何使用BeanWrapper和Java内省结合起来给Bean属性赋值的
- JAVA AES文件加解密
- vs2010编译zapline-zapline.systemoptimization 注释工程中的//#define abs(value) (value >;= 0 ? value : -(value))即可
- 微服务SpringCloud之熔断监控Hystrix Dashboard和Turbine
- [PTA] 数据结构与算法题目集 6-12 二叉搜索树的操作集
- springboot启动不设置端口
- Linux更换默认Security源
- python课堂整理14---函数式编程
- 搭建python环境