
Re: Бъг при използване на if
доколкото разбирам, целта на програмата е да включва и изключва периодично някакви пинове на процесора, и от време на време да сменя периода; наистина, при тази програма, с тези break-ове се излиза от най-близкия цикъл, т.е. от ф-ята main(), едва ли това се желае; обаче, ако правилно разбирам целта на програмата, решението с while също ще работи... това, което gogo е написал, ще работи; а защо работи програмата ако се замени if с while - защото в този случай break ще излезе веднага от цикъла след обновяване на 'a', т.е. цикълът ще се изпълни само веднъж, по-ясно - става точно това, което gogo е написал
по-добър вариант на кода може би е:
или
написах тези неща, защото навремето и аз често се бърках с break в езика c, и като пример, привеждам следната програма, която показва, че понякога синтаксисът на езика допуска доста своеволия:
в крайна-сметка, най-вероятно (заради подравняванията), програмата ще напечата "3" - при мен толкова печата, но на друга архитектура може да напечата и "4"; не би трябвало никога обаче да се напечата "1"