c - 当最大值为净一且分配值为正一时,c中的for循环输出
问题描述
为什么输出为空白以及为什么循环会运行
for(i=1;i<=-10;i++)
printf("*");
如果 i=-1 或 i= -10 运行一次并不重要 为什么
解决方案
只要i
小于或等于 ,您的循环就会迭代-10
。只要i
大于-10
该条件就永远不会为真,并且循环不会迭代,甚至不会迭代一次。
如果i == -10
开始,循环将迭代一次。然后你这样做i++
会增加i?
to的值-9
并且条件变为 false,并且循环不会再次迭代。
请注意,以上仅当当且仅当i
是有符号整数时才成立。
如果i
是一个无符号整数,事情就会变得非常不同。然后-10
将转换为无符号值,那个值会变得很大,循环会迭代很多。
推荐阅读
- android - Android Studio 模拟器错误
- javascript - 清除 radtextbox telerik 后显示数据
- javascript - 在 http.get 函数返回之前调用的 Angular 成功函数
- spring-mvc - mongoReactiveTemplate 聚合查询
- java - 如果 Spark 数据集中的记录的键相同,如何创建值列表
- java - 如何仅将主题中的最后一条消息保存到文件中?
- java - 在编译时获取处理器内部方法调用(ExecutableElement)的参数类
- c# - Unity 中的“鼠标 X”和“鼠标 Y”返回什么?
- c# - 通过 Partition 和 Row Key 检索数据时获取 null
- java - 类中的 main() 与接口中的 main()