int main() {
int i,j=6;
for(;i=j;j-=2)
printf("%d",j);
   return 0;
}

这段代码输出642
请解释为什么这个循环不无限地运行,当j为非正时停止

最佳答案

j变成0时,表达式i=j的计算结果为0。因此,循环终止。
请注意,如果j以负数(例如-1)或奇数(例如5)开头,则条件永远不会计算为0,并将导致无限循环。

关于c - 为什么这不是一个无限循环?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23982187/

10-17 02:17