простите, это чушь. Я даже не понимаю, что вы спрашиваете. В переменную state ничего из условия не “попадает”, значение переменной присваивается в начале коде
опять чушь, нет никаких “стандартных” переменных
Касательно кода в сообщении #25 - вы решили показать свое упрямство? - показывайте его в одиночестве, у меня есть дела поинтереснее.
Первоначально state, когда водили эту переменную была равна 0. Вот int state = 0; .
Я не могу понять само выражение. Мне казалось, что state получает результат, вот этого выражения "if ((val = HIGH) && (old_val = LOW)) { " То есть если результат этого выражения Истина и она эти утверждения верны то state = 1 - 1 . Но как результат вот этого “if ((val = HIGH) && (old_val = LOW)) {” попадает сюда в "state = 1 - STATE;. Я и справшиваю как они связаны ? Почему результат подставляется в " 1 - state " ??
И вы туда же ) . У меня вопрос не в том. что код не работает. А вопрос по логике работы программы самой. Я читаю книжку и прорабатываю код в ide . НО возник вопрос, ПОЧЕМУ. И рядом нет человека, который бы мне ответил. И возникла Гиниальная идея написать на этот форум. И вот. Вопрос остался тем же
Чушь в чем. В самом вопросе, почему оператор if каким то боком передает результат state = 1 - state; Типа новое state равно 1 минут результат работы “if ((val = HIGH) && (old_val = LOW)) {”
Да как вы не поймете. Эту опечатку я видел что там один знак = , а надо == . Я понял. Но вопрос же не втом.что не работает скейтч. А совершенно в другом мой вопрос.
вопрос твой показывает, что ты в принципе не понимаешь логики кода, не знаешь что такое условия, операторы и переменные. Читать тебе цикл лекций тут никто не нанимался. Основы программирования изучи сначала, потом приходи.
этот if сработает всегда так как одной переменной вы присвоили 1 а второй 0, вместо сравнения их с 1 и нулём, присвоили, а уже потом сравнивали, то-есть выражение не имеет смысла
МММ вот if ((val == HIGH) && (old_val == LOW)) { условия этого выражения я читаю так if ((val == HIGH) И (old_val == LOW)) { То есть если оба условия совпадут , то это ИСТИНА. А значит 1 , Дальше эта ИСТИНА попадает в эту переменную state = 1 - state; где вычитается то есть. Если у оператора if оба выражения истина то state = 1 - 1 и получается 0. Я и хотел узнать почему ИСТИНА или ЛОЖЬ попадает в переменную state. Если они не взаимодействовали ранее ?