1
int i = 1;

void setup() {
  Serial.begin(9600);
}

void loop() {
    if(i == 1){
      Serial.print(i);
    }
    i++;
}

これは、i一度だけ値を出力することを目的としています。永遠に 1 を出力し続けるのはなぜですか?

iこのコードは、一度だけ書き込むだけで正しく機能します。

int i = 1;

void setup() {
  Serial.begin(9600);
}

void loop() {
    if(i == 1){
      Serial.print(i);
    }
    i = 2;
}
4

3 に答える 3

4

loop()がループで呼び出されると仮定します。

  • i最初の例ではオーバーフローします。

  • 22 番目の例では、最初の反復後のの値に固定されています。

于 2013-10-25T15:28:06.883 に答える