我试图理解为什么每当我跟踪变量时z的输出总是-1。我正在计算硬币而且我试图建立一个for循环,但是,由于z = -1,我总是被错误提示。
for (var z:int = coins.length; z >= 0; z--);
{
trace(z);
trace(coins.length);
}
我得到的这两个变量的输出答案是:
Z = -1
coins.length = 3
为什么会这样?因为我在输出框中看到的只有:
-1
-1
-1
-1
-1
-1
keeps repeating
如果我们要使用for循环逻辑,那么变量z应该是这样吗?
2
1
0
有什么不对?
答案 0 :(得分:3)
你的问题是:
for (var z:int = coins.length; z >= 0; z--); // the semicolon at the end.
用分号结束循环。你写了一个没有身体的循环。这完全有效并且执行得很好。
在循环之后,执行以下代码:
{
trace(z);
trace(coins.length);
}
z
为-1,因为它是循环中的最后一个值,导致循环停止执行。 coins.length
从未更改,并且根据数组具有值。
如果我们要使用for循环逻辑,那么变量z应该是这样吗?
2
1
0
不,因为它从3开始,而不是2。