Проверка нескольких условий
- Войдите на сайт для отправки комментариев
Втр, 14/04/2015 - 11:46
Всем привет.
Вопрос такой: при совпадении 3х условий необходимо выполнить функцию 1. Как будет правильно организовать проверку? В одном цикле if (A && B && C), или тоже через if, но на каждую проверку свой цикл? Или с точки зрения программы это одно и тоже?
Т.е. "религиозно" правильно будет проверять одним циклом?
лучше так
Да, так. Только почему вы называете эту фиговину "циклом"? :)
:) потому что пишу по if, а думаю по for. Спасибо за замечание.
Т.е. "религиозно" правильно будет проверять одним циклом?
Религиозно правильно так, как требует ситуация. Каких то правил на эту тему нет.
Есть рекомендации при сравнении с константами - указывать сначала константу. Типа if (25==C), тогда меньше шансов написать некорректно, типа как в сообщении #1, if (C = 25) - это ошибка.
Я бы ещё порекомендовал пользоваться скобками, чтобы не нарываться на проблему с приоритетами, но это не обязательно.
Не могу найти в гугле свою ситуацию.
Мне нужно, чтобы переменная с допуском лежала вне диапазона и выполнялось условие по флагу.
Такая конструкция if будет работать? А можно как-то проще? Может без скобок? Как там у него с приоритетами проверки условий? Последовательно?
Такая конструкция if будет работать? А можно как-то проще? Может без скобок?
нормальная конструкция. работать будет. Скобки лучше оставить, с ними нагляднее.
Можно ли проще? - а зачем?
Единственное замечание- в вашем случае логичнее переписать условия так: (currentflow > flow + tolerance)
Меня интересует как будет выполняться вот такое условие
if(a < b || a >b & & a == c)
И вот такое
if(a < b & & a == c || a >b )
Второе будет звучать как "если а меньше б и а равно с ИЛИ а больше б"?
Ну то есть у математических операций есть приоритеты, а у логических?
https://www.viva64.com/ru/t/0064/ Сначало выполняется && а потом ||
у логических тоже. Можно посмотреть по ссылке в сообщении выше.
Однако настоятельно рекомендую использовать скобки. И самому меньше вероятности ошибиться, и другим ваш код будет понятнее. В отличии от арифметических операций, приоритеты логических, битовых и прочих (коих вообще в Си десятка три примерно) - мало кто помнит. Не жалейте ставить скобок - они бесплатны.
Добрый вечер, друзья. Подскажите пожалуйста. В данном куске кода выдает следующую ошибку:
expected unqualified-id before 'if'
before 'if' - переведите!
ожидается безусловный-ID В 'если'
ну так яндекс переводчик пишет)
)) ДО if. Считайте фигурные скобки.
Вот как-то так? Не работает(((
Вижу что вы и по русски не понимаете.(
Понимаю конечно. Завис на каком-то моменте. Поэтому прошу помощи. Я так понимаю фигурные скобки в предыдущем цикле?
В предшествующем блоке. Циклов там нет.
Все, нашёл недостающую. Спасибо. Надо быть внимательнее