Утверждение о переключении регистра:

Большинство новичков застряли на этом месте, они не понимали, что на самом деле делает switch-case и где мы должны предпочесть switch case, а не if-else.

Но не волнуйтесь, я расскажу вам все, что вам нужно знать о switch-case, давайте расслабим ваш разум.

Прежде всего, давайте посмотрим, как выглядит случай переключения: (Псевдокод)

переключатель (условие) {

случай условие1 :

print("оператор условие1")

ломать

случай условие2 :

print("оператор условие2")

ломать

дефолт :

print("оператор по умолчанию")

}

поэтому, когда условие внутри переключателя и условия случая совпадают, этот случай будет выполняться, если ни одно условие случая не выполняется, тогда будет выполнен случай по умолчанию.

(Помните, что это по умолчаниютолько не случай по умолчанию или случай по умолчанию )

вы можете видеть, что эти случаи линейны.

case1 -> case2 -> по умолчанию

поэтому, если вы не используете break, то после case1, case2 и default также будут выполнены, поэтому помните об использовании break, иногда полезно использовать break с умом, например:

случай «а»:

случай «А»:

печать("Алфавит А")

ломать;

поэтому в этом случае, если условием переключения является «a» или «A», он напечатает Alphabet A .

(Не забывайте использовать break с умом)

Теперь давайте посмотрим на пример:

Пример 1:

#include‹stdio.h›

пустая функция() {

интервал х = 1;

переключатель (х) {

Дело 1:

printf("case1 выполнен.");

ломать;

случай 2:

printf("case2 выполнен.");

ломать;

дефолт:

printf("Выполняется случай по умолчанию.");

}

}

Вывод

дело 1 выполнено.

Пояснение

поскольку условие переключения равно 1, поэтому будет выполнен случай 1, и оператор break удалит его.

Пример 2:

#include‹stdio.h›

пустая функция() {

интервал х = 1;

переключатель (х) {

Дело 1:

printf("case1 выполнен.");

случай 2:

printf("case2 выполнен.");

дефолт:

printf("Выполняется случай по умолчанию.");

}

}

Вывод

дело 1 выполнено.

case2 выполнен.

случай по умолчанию выполнен.

Пояснение

поскольку условие переключения равно 1, поэтому будет выполнен случай 1, но перерыва нет, поэтому будут выполняться все случаи.

Пример 3:

#include‹stdio.h›

пустая функция() {

переключатель ((1+1)/2+1) {

Дело 1:

printf("case1 выполнен.");

ломать;

случай 2:

printf("case2 выполнен.");

ломать;

дефолт:

printf("Выполняется случай по умолчанию.");

}

}

Вывод

case2 выполнен.

Пояснение

(1+1)/2+1 = 2/2+1 = 1 + 1 = 2

поэтому условие переключения равно 2, поэтому случай 2 будет выполнен, а break его удалит.

Пример 4:

#include‹stdio.h›

пустая функция() {

переключатель (2) {

Дело 1:

printf("case1 выполнен.");

ломать;

случай 1+1:

printf("выполнен case1+1.");

ломать;

дефолт:

printf("Выполняется случай по умолчанию.");

ломать;

}

}

Вывод

case1+1выполнено.

Пояснение

case1+1 такой же, как case2, поэтому для switch(2) будет выполнен case 1+1.

Пример 5:

#include‹stdio.h›

пустая функция() {

переключатель (2) {

Дело 1:

printf("case1 выполнен.");

ломать;

случай 1+1:

printf("выполнен case1+1.");

ломать;

случай 2:

printf("case2 выполнен.");

ломать;

дефолт:

printf("Выполняется случай по умолчанию.");

ломать;

}

}

Вывод

Ошибка компиляции

5_switch.c:10:3: ошибка: повторяющееся значение регистра

10 | случай 2:

| ^~~~

5_switch.c:7:3: примечание: ранее использовалось здесь

7 | случай 1+1:

| ^~~~

Пояснение

Дублирование случаев невозможно.

Поскольку case1+1 и case2 одинаковы, компилятор выдаст вам ошибку.

Я думаю, что я рассмотрел все пункты этими 5 примерами.

Спасибо…

Если содержание этого веб-сайта покажется вам интересным и полезным, воспользуйтесь приведенной ниже ссылкой «Купить HW Programmer кофе», чтобы купить мне кофе. Ваша щедрость будет поддерживать меня кофеином и вдохновлять меня поддерживать веб-сайт в рабочем состоянии.

Большое спасибо за ваше внимание.

https://ko-fi.com/hwprogrammer



Давайте свяжемся с нами:

Instagram:https://www.instagram.com/hwprogrammer/

Страница Facebook:https://www.facebook.com/hwcoder

Группа Facebook:https://www.facebook.com/groups/838100380386300