我正在为 Arduino 编写这段代码。编译时,我收到错误“'timing' is not declared in this scope”(在我尝试打印时间 [i] 的底部附近的行中),因为我在 while 循环内的 if 语句中声明了数组, 我想。
如果这是一个简单的变量,我可以在循环之外声明它,这将得到修复,但问题是我只在 if 语句中知道这个数组的大小。
void loop() {
while (Serial.available()) {
int inChar = Serial.read();
if (isDigit(inChar)) {
inString += (char)inChar;
}
if (!isDigit(inChar) && !timingExists) {
int timing[inString.toInt()];
inString = "";
timingExists = true;
}
if (!isDigit(inChar) && timingExists) {
timing[n] = inString.toInt();
inString = "";
n++;
}
}
n = 0;
for (int i = 0; i < (sizeof(timing) / sizeof(timing[0])) ; i++) {
Serial.println(timing[i]);
}
}