1) Оператор switch принимает целочисленное значение в скобках;
2) При срабатывании любой ветки оператора switch (case или default) идет выполнение операндов до оператора break или конца оператора switch;
3) Если не сработала ни одна ветка case, то переходит управление на ветку default (при ее наличии) или завершается выполнение оператора switch;
using namespace std;
int main(){
int a = 0;
switch (a) {
case -1:
cout << "a = -1" << endl;
break;
case 0: // При срабатывании выведет 0 и 2, так как нет break после 0
cout << "a = 0" << endl;
case 2:
cout << "a = 2" << endl;
break;
default: // Ветка по умолчанию, если ни один case не сработал
cout << "default" << endl;
}
}
/* Вывод программы:
a = 0
a = 2
*/