理解for循环的退出条件
发布时间:2020-12-16 03:32:41 所属栏目:百科 来源:网络整理
导读:读完这个帖子 Print an int in binary representation using C后,我有了这个问题 在用户注释中,他们发布了for循环,它为位位置分配1或0,以便从int decimal转换为char * binary. for(; bits--; u = 1) str[bits] = u 1 ? '1' : '0'; 我理解为什么不需要初始值.
读完这个帖子
Print an int in binary representation using C后,我有了这个问题
在用户注释中,他们发布了for循环,它为位位置分配1或0,以便从int decimal转换为char * binary. for(; bits--; u >>= 1) str[bits] = u & 1 ? '1' : '0'; 我理解为什么不需要初始值.这是我一直都知道的for循环的语法: for ( variable initialization; condition; variable update ) 我不明白的是’bit–‘如何成为退出条件.请帮助我理解这段代码是如何工作的(我测试了它,它是有效的). 谢谢. 解决方法
在C中,零值在布尔上下文中计算为“false”.因此,当bits–计算为0时,在循环的上下文中,它计算为“false”并终止循环.
如果你说,例如: int x = 1; if (--x) { printf("True!n"); } else { printf("False!n"); } 它将输出“False”,因为–x计算结果为0,在布尔上下文中为“false”. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- xml遵循css
- 未能加载文件或程序集“AspNetPager”或它的某一个依赖项。
- configure: error: Neither flex nor lex was found.
- log4日志配置02
- Presentational and Container Components
- 手机号码中间部分替换成星号
- 【XML】——利用dom4j读取xml文本获取oracle数据库的连接
- 《从零开始学Swift》学习笔记(Day 63)――Cocoa Touch设计
- 第三讲:React Native & HTML5+(学习笔记1)
- ruby-on-rails – 如何RSpec一个共享的ActiveRecord模块没有