简单的循环//但奇怪的输出答案

时间:2016-10-14 14:33:29

标签: actionscript-3 for-loop flashdevelop

我试图理解为什么每当我跟踪变量时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

有什么不对?

1 个答案:

答案 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。