Ой, не сюда!
Снова курю чужой код и перетачиваю под свои нужды. Есть программа, она с импульса расходомера учитывает, сколько гектолитров сусла налилось в пивной танк. У товарищей, чей код пилю, расходомеров было шесть, а проблем — ноль.
Пляски начались, когда я оставил два расходомера. Переменная устанавливается в 1 и тут же сбрасывается — импульс не успевает учитываться. Перепробовал несколько вариантов присвоения — всё одно. Подумал, переставил в конец основной программы (вообще говоря, правильно пересбрасывать все переменные в конце цикла). Работает. Только сусла получается в танке вдвое больше. Программа учитывает теперь один импульс дважды. Переставляю сброс переменной сразу после учёта импульса — всё работает как надо.
Мораль: использовал — сбрось сразу, а не до и не когда-то потом!