lub*_*smj -3 c syntax gcc loops
我得到了这个示例代码,我真的不明白它是如何工作的.它由GCC编译,完全没有错误.
另外,你能告诉我这段代码" i = i&1 "有什么用吗?谢谢!
int main(void){
int i;
for (i = 5; i--; i = i&1) {
puts("iteration");
}
printf("%d\n",i);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
该计划的输出是:
迭代
-1
小智 6
在for-Loop的开头:
下一步是:检查i--,这意味着:
下一步:做内部块.
下一步:i = i&1,结果如下:
下一步:检查i--
&是bitwise AND运营商
i = i&1 // this AND's bits of i to bits of value 1
Run Code Online (Sandbox Code Playgroud)