Оператор break
Оператор break используется для досрочного
прерывания выполнения циклов for,
while, do-while и оператора
switch. Когда управление доходит до
break, выполнение текущей конструкции
немедленно прекращается, а программа продолжает
работу со следующей инструкции после цикла или
switch. Оператор не принимает параметров
и не возвращает значения.
Синтаксис
break;
Пример
Давайте прервём цикл for, когда счётчик
достигнет значения 3:
#include <iostream>
using namespace std;
int main()
{
for (int i = 0; i < 10; i++) {
if (i == 3) {
break;
}
cout << i << " ";
}
cout << endl;
return 0;
}
Результат выполнения кода:
0 1 2
Пример
Давайте найдём первое вхождение символа
'c' в строке "abcde" и прервём
цикл, как только он будет найден:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str = "abcde";
int pos = -1;
for (int i = 0; i < str.length(); i++) {
if (str[i] == 'c') {
pos = i;
break;
}
}
cout << pos << endl;
return 0;
}
Результат выполнения кода:
2
Пример
Давайте используем break внутри
switch, чтобы прекратить выполнение
после нужной ветки case:
#include <iostream>
using namespace std;
int main()
{
int num = 2;
switch (num) {
case 1:
cout << "one" << endl;
break;
case 2:
cout << "two" << endl;
break;
case 3:
cout << "three" << endl;
break;
default:
cout << "unknown" << endl;
}
return 0;
}
Результат выполнения кода:
"two"
Пример
Оператор break прерывает только
ближайший внешний цикл. Во вложенных циклах
он не затрагивает внешний цикл:
#include <iostream>
using namespace std;
int main()
{
for (int i = 0; i < 3; i++) {
for (int j = 0; j < 5; j++) {
if (j == 2) {
break;
}
cout << i << ":" << j << " ";
}
cout << endl;
}
return 0;
}
Результат выполнения кода:
"0:0 0:1"
"1:0 1:1"
"2:0 2:1"