Неожиданный результат цикла C [closed]

Я удивлен, что когда я набираю, например, букву «x», строка «Повторить последний ввод Y или N n» отображается дважды. Он работает, когда пользователь делает то, что ему сказано, но если он этого не делает, поведение функции отличается от ожидаемого. Я бы напечатал строку только один раз, как в первой итерации цикла.

char yesOrNo;
        int i=1;
        while(i==1){
                printf("Repeat last input Y or N n");
                scanf("%c",&yesOrNo);
                switch( yesOrNo){
                        case 'y':
                        case 'Y':
                                return 'Y';
                        case 'N':
                        case 'n':
                                return 'N';
                }
        }

0

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *