В C или C ++ (так как вы используете printf, я предполагаю, что это так), случаи должны быть перечислены для каждого выбора.
Единственная разница между switch/case
и if
вероятность того, что компилятор может превратить его в вычисленное goto вместо проверки диапазонов.Если switch/case
поддерживает диапазоны, это лишит цель открытия возможности этой оптимизации.