Skip to content

Commit 9bed3b7

Browse files
committed
Опечатка в 6.1. Обнаружил Владимир Щур, комменты на степике
1 parent c25c5a0 commit 9bed3b7

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

lang_c/6/0__switch/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -184,7 +184,7 @@ int main(void)
184184
185185
Дело в том, что мы не учли одну из особенностей работы инструкции `switch`. Эта особенность называется =сквозное выполнение= или =проваливание (fallthrough)=. Поясню, как оно работает.
186186
187-
Как и было сказано ранее, если есть совпадение в одной из веток `case`, то выполняются **все** инструкции, записанные после этой метки. Т.е. буквально все, мбо про остановку перед следующей меткой ничего не говорилось. Иначе говоря, выполнив все инструкции в текущей ветке программа не останавливается, а как бы "проваливается" в следующую ветку и начинает выполнять уже её инструкции и так до тех пор, пока не достигнет закрывающей скобки `}`.
187+
Как и было сказано ранее, если есть совпадение в одной из веток `case`, то выполняются **все** инструкции, записанные после этой метки. Т.е. буквально все, ибо про остановку перед следующей меткой ничего не говорилось. Иначе говоря, выполнив все инструкции в текущей ветке программа не останавливается, а как бы "проваливается" в следующую ветку и начинает выполнять уже её инструкции и так до тех пор, пока не достигнет закрывающей скобки `}`.
188188
189189
В нашем примере:
190190
- программа выполнила инструкцию `printf("GOOD!\n");`, записанную после метки `'b'`

0 commit comments

Comments
 (0)