c1离开循环之前的最后一个值(以及之后)是6.如何6?该变量的最后一个已知值是5.
这是代码snipplet
int c1, c2;
for (c2 = 4; c2 <= 5; c2++)
{
for (c1 = 2; c1 <= 5; c1++)
{
System.out.println("#"+""+c1);
}
System.out.println(c2 + " " + c1);
}
System.out.println("\nLoop is done");
答案 0 :(得分:5)
没有最后一个值是6.在迭代5次之后它执行c1++
然后循环的下一次迭代它失败了for循环的c1 <= 5
检查并退出循环。但是c1已经是6了。但是从未打印过,因为它只在循环中。
答案 1 :(得分:0)
for循环检查条件以确定它是否应该跳过正文。你的病情是c1 <= 5
。因此,在最后一次迭代中,c1 = 5,
然后它c1++
。所以c1 = 6,此时c1 <= 5
为假。
答案 2 :(得分:0)
对于三个(可选)部分的循环结构:初始化,终止条件和更新语句。 更新语句(c1 ++)总是在循环中每次迭代结束时执行。
在c1 = 5的最终迭代中,条件为真,因为5 <= 5。 Println将被执行,之后将更新语句将c1增加到6.由于6不是&lt; = 5,循环将终止。
所以最后的已知值确实是6而不是5,请注意否则循环永远不会停止,因为条件是真的。