"break statement" 没有正常工作
The "break statement" is just not working like it should
这是代码,但由于某些原因,当(distancia<100)
时,("ALTO")
仍然出现,与另一个while循环相同
while (distancia<200 && distancia>100)
{
lcd.print("ALTO");
delay(1000);
lcd.clear();
delay(1000);
if(distancia<100)
{
break;
}
}
while(distancia<100)
{
lcd.print("INTRUSO EN");
lcd.setCursor(0,1);
lcd.print("LA PUERTA");
tone(11,700,250);
digitalWrite(8,HIGH);
delay(500);
lcd.clear();
digitalWrite(8,LOW);
delay(500);
if(distancia>100);
{
break;
}
}
}
这是你的 while 循环:
while (distancia<200 && distancia>100)
这是你的条件:
if(distancia<100);
{
break;
}
一个变量不能同时大于和小于100所以if基本没用
while (distancia<200 && distancia>100)
{
lcd.print("ALTO");
...
if(distancia<100)
{
break;
}
}
while
条件保证distancia > 100
,所以你内心的if
没用
- 在循环内部你没有改变
distancia
意味着循环是无限的 - 对我来说似乎是一个错误。
这是代码,但由于某些原因,当(distancia<100)
时,("ALTO")
仍然出现,与另一个while循环相同
while (distancia<200 && distancia>100)
{
lcd.print("ALTO");
delay(1000);
lcd.clear();
delay(1000);
if(distancia<100)
{
break;
}
}
while(distancia<100)
{
lcd.print("INTRUSO EN");
lcd.setCursor(0,1);
lcd.print("LA PUERTA");
tone(11,700,250);
digitalWrite(8,HIGH);
delay(500);
lcd.clear();
digitalWrite(8,LOW);
delay(500);
if(distancia>100);
{
break;
}
}
}
这是你的 while 循环:
while (distancia<200 && distancia>100)
这是你的条件:
if(distancia<100);
{
break;
}
一个变量不能同时大于和小于100所以if基本没用
while (distancia<200 && distancia>100)
{
lcd.print("ALTO");
...
if(distancia<100)
{
break;
}
}
while
条件保证distancia > 100
,所以你内心的if
没用- 在循环内部你没有改变
distancia
意味着循环是无限的 - 对我来说似乎是一个错误。