读完这个帖子后我有了这个问题用C打印一个二进制表示形式的int
在用户注释中,他们发布了for循环,它为位位置分配1或0,以便从int decimal转换为char*binary.
for(; bits--; u >>= 1)
str[bits] = u & 1 ? '1' : '0';
Run Code Online (Sandbox Code Playgroud)
我理解为什么不需要初始值.这是我一直都知道的for循环的语法:
for ( variable initialization; condition; variable update )
Run Code Online (Sandbox Code Playgroud)
我不明白的是'bit--'如何成为退出条件.请帮助我理解这段代码是如何工作的(我测试了它,它是有效的).
谢谢.