1

请帮我解释这个for循环:

for (byte color_bit = 23 ; color_bit != 255 ; color_bit--) {
    ...do something
}

我想我理解(来自谷歌搜索和 StackOverflow)这里的 'color_bit' 是一个 UNSIGNED 变量。所以这意味着循环将从 23 倒数到 0。但是接下来会发生什么?它是否尝试从 255 开始并继续倒计时?但是因为测试是“!= 255”它会停止吗?

在我看来,这似乎是逻辑,但我使用的工具(Arduino IDE)没有调试器,所以我无法单步执行代码来查看值。

4

2 回答 2

1

您的循环将看到 bit_color = 23..0(24 次迭代),前提是 'byte' 是 8 位无符号的。您的循环在 color_bit=255 时停止。HTH。

于 2013-05-06T02:35:00.423 回答
0

您可以添加一个串行打印行,如下所示:

 for (byte color_bit = 23 ; color_bit != 255 ; color_bit--) {
      Serial.print(bit_color, DEC);
 }

测试/调试计数序列。

于 2013-05-07T14:26:06.433 回答