(x) {
case 9: printf("девять "); break;
case 8: printf("восемь "); break;
case 7: printf("семь "); break;
case 6: printf("шесть "); break;
case 5: printf("пять "); break;
case 4: printf("четыре "); break;
case 3: printf("три "); break;
if (p<=999 || p>=2999) {
case 2: printf("два "); break;
case 1: printf("один "); break;
}
}
На самом деле может и можно, но твой if в этом случае игнорируется при x равном 1 или 2 (и при всех остальных значениях), также, у тебя нет метки default, это тоже ошибка
Какая тут мысль то была, что за p такое?
Просто подумай, вот x == 9, куда попадает управление? На case 9: IF не срабатывает. x == 2, куда попадает управление? На case 2: IF не срабатывает. x == 10, куда попадает управление? Неизвестно куда, но IF не срабатывает тоже. Код бессмысленный, даже если бы он был валидным. Я не знаю, вполне возможно, сто он валидный. Тут точно тебя компилятор попросит сделать метку default, это да.
Причём, можно было бы так switch (x) { case 9: printf("девять "); break; case 8: printf("восемь "); break; case 7: printf("семь "); break; case 6: printf("шесть "); break; case 5: printf("пять "); break; case 4: printf("четыре "); break; case 3: printf("три "); break; default: if (p<=999 || p>=2999) { case 2: printf("два "); break; case 1: printf("один "); break; } }
Обсуждают сегодня