Официальный сайт компании Arduino по адресу arduino.cc
While - не работает два условия ???
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Сб, 15/06/2019 - 13:12
Доброго всем дня.
Столкнулся на первый взгляд с "детским" вопросом, но пока решить не смог:
Есть цикл, который вот так выполнять условие не хочет:
while ( (zaderzka < 5) || (millis() < (timer + PZU_data*60*1000)) ) { ... }
Вотк работает:
while ( zaderzka < 5 ) { ... }
И так тоже:
while ( millis() <= (timer + PZU_data*60*1000) ) { ... }
В чем может быть дело ??
Заранее спасибо.
приведите полный код, где проявляется эта проблема. Ошибка явно не в синтаксисе - составное условие вполне легальное и должно работать. Скорее всего у вас ошибка в логике программы.
а если заменить || на && )))
а если так
а если так
так тоже работать не будет )))
так тоже работать не будет )))
ну почему, может ТС именно "||" и надо. Хотя вероятность, что он с "&&" перепутал - велика :)
Прекратите детский сад и напишите внятно: 1) чего именно Вы от него ждёте, что он по-Вашему должен делать (т.е. как Вы это условие понимаете),
Оно работает именно так как написано. А чего Вы ждёте мы не знаем.
так тоже работать не будет )))
ну почему, может ТС именно "||" и надо. Хотя вероятность, что он с "&&" перепутал - велика :)
он не перепутал, он неверно решил уравнение )))
Прекратите детский сад и напишите внятно:
Евгений, что вы хотите от человека с ником, в котором есть и "мастер" и "про"? - только детский сад и может быть :)
Прекратите детский сад и напишите внятно: 1) чего именно Вы от него ждёте, что он по-Вашему должен делать (т.е. как Вы это условие понимаете),
Оно работает именно так как написано. А чего Вы ждёте мы не знаем.
Как не знаем, он же написал, что должно отрабатывать на одно из двух условий, что слева, что справа - пишет жеж, что поодиночке работают )))
Цикл While должен прерываться по одному из условий (т.е. OR и AND я не перепутал)
вот полный код теста:
таки перепутали, цикл идёт пока ТРЮ, значит должно быть &&
???
Цикл идет пока ИЛИ не удержали кнопку примерно 3 сек
ИЛИ пока не закончился таймер.
Так откуда && ?, объясните пожалуйста
???
Цикл идет пока ИЛИ не удержали кнопку примерно 3 сек
ИЛИ пока не закончился таймер.
Так откуда && ?, объясните пожалуйста
Не объясню, так каккузнец )))
Поставьте && и проверьте, если работает как вы задумывали, вам ЕвгенийП на пальцах объяснит
Цикл идет пока истинно условие. 1 || 0 -> 1 , т.е. условие остаётся истинным, даже если истинно только одно из "подусловий" . Тут требуется 1 && 0 -> 0, т.е. цикл прекращается, когда любое из "подусловий" превращает результат в false.
Цикл идет пока истинно условие. 1 || 0 -> 1 , т.е. условие остаётся истинным, даже если истинно только одно из "подусловий" . Тут требуется 1 && 0 -> 0, т.е. цикл прекращается, когда любое из "подусловий" превращает результат в false.
вот как я ему мог бы это объяснить, выше же писал, что пока ТРЮ, а как тока не трю ... )))
Спасибо большое - разобрался!
Спасибо большое - разобрался!
так...теперь понятно, что ИЛИ это у нас в голове...
PS "ты проверяй какого пола твой сосед" В.Высоцкий