确切的执行流程是什么for(i=0; i<n; i++)
?
是吗:
i=0;
while (true) {
if (i<n) {
i++;
//loop body
}
else {
break;
}
}
并且for (i=0; i<n; i++)
相当于for (i=0; i++<n;)
,为什么或为什么不呢?
这是一个非语言特定的问题。但要说清楚,请在Java中说。
答案 0 :(得分:0)
除了一个细节之外,你的while循环是等效的,计数器在循环体之后递增。对于您的版本,在每次迭代中打印i
将输出1作为第一个数字,但是经典的for
循环将从0开始。此外,if
是多余的,因为您可以移动它条件进入while
循环并完全避免break
:
int i = 0;
while (i < n) {
//body
i++;
}
for (i=0; i++<n;)
也不正确,因为它会在边界检查中增加i
,这意味着您遇到与以前相同的问题:i
在第一次正文迭代中将为1。 / p>