читать стандарт С99 на английском весьма затруднительно для меня, поэтому прошу ответить тех, кто уже зубы съел на этих стандартах.
в операторе switch допускается указывать до первого вхождения метки case любые операторы, то есть вот так МОЖНО (компилятор не ругается):
Код
switch(var){
somevar = 12;
case 0:
// some code here
}
однако avr-gcc полностью игнорирует эти "предварительные ласки", даже если somevar объявлена как volatile
вопрос знатокам: есть ли тут какие-то ошибки, несоответствия стандарту и т.п. "нюансики"? если можно, но бесполезно - почему вообще можно? почему нет варнинга? если нельзя - почему нет ошибки? ну и так даее...
Я бы взял частями... но мне надо сразу.