Я новичок в программирования C и, как я проходил через мои задания для моего курса языка с, я наткнулся на проблему ...Вложенный коммутатор: почему вторая команда коммутатора не принимает вход?
int main() {
char one, ona, onb;
/*code for choices (a), (b), and (c) here*/
scanf ("%c", &one);
switch (one) {
case 'a':
/*code for choices (d), and (e) here*/
scanf ("%c", &ona);
switch (ona) {
case 'd':
printf ("end");
break;
case 'e':
printf ("continue");
break;
}
break;
case 'b':
/*code for case 'b' here*/
break;
case 'c':
/*code for case 'c' here*/
break;
}
system ("pause > nul");
getch();
return 0;
}
моих вложенных команд коммутатора (те, под ONA и ONB) не работает, когда я компилирую & запустил консольное приложение?
Я проверил все перерывы; команды, и они все там? есть что-то, чего я не вижу/делаю неправильно?
я попытался прочитать другие аналогичные вопросы, касающиеся вложенного переключателя, однако, я не нашел, что адресует мою проблему ...
я использую систему («pasue> NUL») после несколько PRINTF statments, если это помогает найти ответ? (также, я использую dev-C++, поскольку это было рекомендуемое приложение, которое наш профессор сказал нам использовать)
Я надеюсь, что кто-то может найти то, что я неправильно закодировал ;; Огромное спасибо заранее! :)
Что означает «не работает»? – user93353
Проблема заключается не в вашем коде, а в ваших вводах. Тест с «ad» (например) будет работать. –
хорошо, когда я запускаю программу и добираюсь до той части, где должен работать рабочий переключатель (ona), это не так, и он переходит прямо к последней части кода> printf ("\ n \ n"); (...) return 0; } :( – fujisaki