Как выбрать диапазон значений через switch? - C (СИ)
Формулировка задачи:
В Паскале можно указывать диапазон:
А можно ли указывать диапазон в Си через switch? Или только перечислять все варианты?
Должен же быть способ сразу выбрать диапазон значений?
Извините за такой глупый вопрос... просто с Си редко сталкиваюсь. А тут надо небольшую программку написать... и выбор компиляторов: либо Си, либо ассемблер.
Case A of 4..9: .... 10..15:.... End;
switch(a)
{
case 4:
case 5:
case 6:
case 7:
case 8:
case 9:
....
break;
}Решение задачи: «Как выбрать диапазон значений через switch?»
textual
Листинг программы
case 'a'...'z': break; case '0'...'9':
Объяснение кода листинга программы
В представленном коде нет никаких названий и значений переменных, поэтому список с номерами до 20 элементов не применим. Но если бы были переменные, то можно было бы оформить список следующим образом:
- Переменная
числоимеет тип данных int. - Переменная
символимеет тип данных char. В данном коде выполняется операция сравнения символа с диапазоном символов. Если символ равен любому символу из диапазона 'a'...'z', то выполняется первый case, если символ равен любому символу из диапазона '0'...'9', то выполняется второй case. В обоих случаях выполняется действиеbreak, которое прекращает выполнение всех последующих case в текущем блоке switch.