Я сейчас работаю над проектом, где мне нужно break
в моем операторе switch, иначе код не будет работать. Терпите меня, и я дам вам хороший пример того, почему вам нужно break
в вашем заявлении о смене.
Представьте, что у вас есть три состояния, одно из которых ожидает ввода пользователем числа, второе - для его вычисления, а третье - для вывода суммы.
В этом случае у вас есть:
- State1 - Подождите, пока пользователь введет номер
- State2 - Вывести сумму
- state3 - Рассчитать сумму
Глядя на состояния, вы бы хотели, чтобы порядок поборов начинался с state1 , затем state3 и наконец state2 . В противном случае мы будем печатать только пользовательский ввод без вычисления суммы. Просто чтобы прояснить это еще раз, мы ждем, пока пользователь введет значение, затем рассчитаем сумму и напечатаем ее.
Вот пример кода:
while(1){
switch(state){
case state1:
// Wait for user input code
state = state3; // Jump to state3
break;
case state2:
//Print the sum code
state = state3; // Jump to state3;
case state3:
// Calculate the sum code
state = wait; // Jump to state1
break;
}
}
Если мы не используем break
, он будет выполняться в следующем порядке: state1 , state2 и state3 . Но используя break
, мы избегаем этого сценария и можем упорядочить правильную процедуру, которая должна начинаться с state1, затем state3 и, наконец, state2.