for在阅读其他人的代码时,我看到了一些非常奇怪的循环.我一直在尝试搜索for循环的完整语法解释,C但这很难,因为单词" for"出现在不相关的句子中,使得搜索几乎不可能有效地进行Google.
在for这里:
for(p=0;p+=(a&1)*b,a!=1;a>>=1,b<<=1);
Run Code Online (Sandbox Code Playgroud)
在中间条件下有一个逗号分隔两段代码,这个逗号有什么作用?右边的逗号我理解,因为它使得a>>=1和b<<=1.
但是在循环退出条件下,会发生什么?它是在何时p==0,何时a==1或何时发生时退出?
如果有人能帮助我理解这一点并且可能指向完整for循环语法描述的方向,那将是很棒的.