Мой друг дал мне этот Arduino код:Что это за цикл?
int button;
void setup(){
pinMode(12, INPUT);
}
void loop(){
for(button; button == HIGH; button == digitalRead(12)) { //This line
//Do something here
}
}
Линия комментировал с «эта линия» мне не ясна.
Я всегда видел for
цикл, как:
for (init; condition; increment)
Также используется по-разному, как:
for(int i=0; i<n; i++){}
for(;;){}
и так далее, но я никогда не видел что-то вроде кода Я получил от моего друга.
Он компилируется на Arduino IDE, так в чем смысл этого конкретного цикла for
?
Другими словами, что это за цикл, и как это работает?
для петель не должны увеличиваться, синтаксис больше похож на 'для (run_once_at_start; conditions_to_check_every_loop; actions_to_perform_every_loop)' Кроме того, заметим, что она сломана код, '==' не имеет побочных эффектов, и ничего не делается. Я думаю, что ваш друг означает '=' – GRAYgoose124
@ GRAYgoose124. Я думаю, он просто имел в виду '==', поскольку он компилируется и работает правильно. – BackSlash
Несомненно, он компилируется и работает правильно, как и множество «логических» ошибок. Он ничего не сделает, он сравнивает значение digitalRead на контакте 12 с кнопкой и ничего не делает с результатами. 'button == digitalRead (12)' может быть полностью опущен, и он даст те же результаты. На самом деле, я уверен, вы все равно оптимизировали его. – GRAYgoose124