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/