Цитата(vooon @ Nov 10 2006, 22:15)

Цитата
Но эта переменная никогда не будет равна 0, т.к. на входе в подпрограмму устанавливается на 10, на выходе - 9
Код
static byte led_act_delay = LED_ACT_NORMAL_DELAY;
Хм, мне всегда казалось что
static инициализируется только один раз

Объясните тогда, что делает этот оператор static byte led_act_delay = LED_ACT_NORMAL_DELAY;?
Делается ли присвоение каждый раз при входе в подпрограмму или нет?
Вообще непонятно, зачем объявлять static в подпрограмме, переменная static является такой же глобальной переменной, как и extern, только в пределах файла, где она объявлена, и для удобства пользования должна быть объявлена на внешнем уровне. Объявление переменной может, конечно, включать инициализацию.