Как уже говорили другие, это расширение для конкретного компилятора. Вызвать компилятор с правильными параметрами (скажем, gcc -std=c99 -pedantic
), и он должен предупредить вас об этом.
Я также укажу, что его использование потенциально опасно, за исключением того факта, что другой компилятор может его не реализовать. 'a' ... 'z'
обозначает 26 строчных букв - но стандарт C не гарантирует, что их значения являются смежными. Например, в EBCDIC
между буквами есть знаки препинания.
С другой стороны, я сомневаюсь, что gcc или Sun C поддерживают системы, которые используют набор символов, в котором буквы не являются смежными. (Они находятся в ASCII и всех его производных, включая Latin-1, Windows-1252 и Unicode.)
С другой стороны, исключаются буквы с акцентом. (В зависимости от того, как используется DRBD
, это может быть или не быть проблемой.)