static инициализируется лишь однажды - в момент запуска программы (грузится наравне с инициализированными константами). Работа функции полностью эквивалентна тому, как если бы state был объявлен вне ее. Т.е. в своем теле она единичку state не присваивает.