Есть условие if:
if (second_digit == 9 && four_digit != 0 || second_digit == 0 && four_digit != 0)
и Я не могу понять почему оно выполняется!!!?
Смотря под отладчиком в Visual Studio - в момент, когда выполняется этот блок, переменные second_digit и four_digit = 0 и 1 соответственно, т.е даже первая часть условия if -
second_digit == 9 && four_digit != 0
- не должна выполнятся, т.к second_digit != 9
Подскажите пожалуйста. P.S и нет, это не дубликат вопроса: Выполняется блок if(){} при значении логического условия равном false! - т.к у меня после блока if точки с запятой.
Ваши переменные имеют такие значения: second_digit = 0
и four_digit = 1
.
То есть условие second_digit == 0
возвращает True
и four_digit != 0
возвращает True. Так как исходное условие выглядит следующим образом (с расставленными приоритетами):
if ((second_digit == 9 && four_digit != 0) || (second_digit == 0 && four_digit != 0))
Вторая группа условий возвращает True
(так как оба условия истинны), и тогда одно из двух условий связанных логическим ИЛИ истинно, то есть и все условие истинно.
Подробнее про логическое ИЛИ, подробнее про логическое И.
Ваше условие можно было бы переписать так:
if ((second_digit == 9 || second_digit == 0) && four_digit != 0)
(законы дистрибутивности: https://ru.wikipedia.org/wiki/Дистрибутивность).
Как мне кажется, так нагляднее видно, что условие выполняется при second_digit = 0
и four_digit = 1
.
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Здравствуйте! Наткнулся на проблему хранения различных токенов/паролей и тпв открытом репозитории на Github
Имеется модель некоторой "настольной" игры (привожу упрощенно), например, крестики-нолики, в ней определен интерфейс игрока:
Метод Listen запускается в отдельном потоке, должен получать данные с сервера и проигрывать их(это звук)Но вылазит исключение: Необработанное...