0
int guessTheNumber(void) {
int guess;
char yesOrNot;
srand(time(NULL));
int random = rand() % 2;
while(guess != random) {
    scanf("%d", &guess);
    if(guess == random) {
        puts("Excellent! You guessed the number!\nWould you like to play again (y or n)");
        scanf("%c", &yesOrNot);
        if(yesOrNot == 'y') {
            guessTheNumber();
        } else if(yesOrNot == 'n') {
            return 0;
        } else {
            puts("You printed ununderstandable character");
        }
    } else {
         if(guess > random) {
             puts("Too high. Try again");
         } else {
             puts("Too low. Try again");
         }
    }
}}

После вывода сообщения о выигрыше, функция прекращает свою работу, игнорируя данный участок кода.

scanf("%c", &yesOrNot);
        if(yesOrNot == 'y') {
            guessTheNumber();
        } else if(yesOrNot == 'n') {
            return 0;
        } else {
            puts("You printed ununderstandable character");
        }

Подскажите, пожалуйста, как можно исправить данное недоразумение?

  • Рекурсией у вас и не пахнет, используйте верную терминологию. Код не игнорируется, не вводите в заблуждение - выводится "You printed ununderstandable character" - а это совсем иное... – Harry Sep 29 '18 at 04:57
  • Harry, спасибо за уточнение. Право, я не знал как сформулировать вопрос. Все же, если Вы подскажите как разрешить данную проблему, то я буду премного благодарен. – JekyllKaiser Sep 29 '18 at 05:00
  • Спасибо, решил. – JekyllKaiser Sep 29 '18 at 05:04

0 Answers0