Все темы
Условия
if/else, висячий else, if с инициализатором, switch и проваливание.
Сортировка:
2 вопроса
JuniorТеорияЧастоЧто выведет программа?
JuniorТеорияЧасто
Что выведет программа?
bcd
Открыть задачу →Типичные ошибки
- ✗Ждать
b: меткаcaseне завершает код перед ней, поэтому безbreakвыполнение продолжается вcase 3и дальше. - ✗Ждать
bc: проваливание не останавливается наdefault— это такая же метка, какcase, поэтому печатается иd.
Уточняющие вопросы
- →Изменит ли
[[fallthrough]]вывод этой программы и зачем его ставят? - →Почему переменная, объявленная сразу после метки
caseбез фигурных скобок, может вызвать ошибку компиляции?
JuniorТеорияИногдаЧто выведет программа?
JuniorТеорияИногда
Что выведет программа?
-1 1
Открыть задачу →Типичные ошибки
- ✗Ждать
1 -1, как подсказывают отступы:elseотносится к ближайшемуifбез своегоelse, то есть кif (x > 10), а отступы ничего не меняют. - ✗Ждать ошибку компиляции: правило ближайшего
ifне оставляет неоднозначности, поэтому Clang и GCC только предупреждают и советуют поставить скобки.
Уточняющие вопросы
- →Как расставить фигурные скобки в
kind, чтобы она возвращала-1для любогоx <= 0? - →Какое предупреждение компилятора сообщает о неоднозначном
elseи какое исправление оно предлагает?