TGViewer
C++ Academy C++ Academy @cpluspluc · 15.5K subscribers
Post #1526 3.23K
В C есть синтаксис, который выглядит как опечатка:


case '0' ... '9':


Кажется, что такой switch вообще не должен компилироваться.

Но в GCC это работает. Это расширение называется case ranges — можно задавать сразу диапазон значений внутри case.

Например:


case '0' ... '9':
return DIGIT;

case 'a' ... 'z':
case 'A' ... 'Z':
return LETTER;


Вместо десяти отдельных case для цифр и ещё десятков для букв — одна строка на диапазон.

Но есть нюанс: это не стандартный C, а расширение GCC. Если код должен быть переносимым между компиляторами, на такой синтаксис лучше не рассчитывать.

Одна из тех возможностей C, которые выглядят неправильно, пока не узнаешь, что компилятор действительно это поддерживает.
  • 🔥 26
  • 👍 7
  • ❤ 6
  • ✍ 2
  • 🥰 1
More from @cpluspluc
  1. Sep 22, 2026Лицо C++-разработчика, когда он написал 6000 строк кода, чтобы обогнать твои 4 строки на P…
  2. Sep 18, 2026Как посчитать миллиарды уникальных значений, используя всего несколько килобайт памяти Для…
  3. Sep 17, 2026⚙️ useful_abstractions - вычисления на этапе компиляции в C++23 Библиотека упрощает работу…
  4. Sep 17, 2026Разница между C++ и Python
  5. Sep 17, 2026«Я про бэкенд»: как устроены AI-системы под капотом бигтеха 🗓 3 октября, Москва и онлайн…
  6. Sep 16, 2026💡 Алгоритм Флойда находит цикл в связном списке всего с двумя указателями и `O(1)` дополн…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →