Я создаю программу для генерации следующего простого числа, для чего мне нужно взять пользовательский ввод. Я использую цикл do-while, но он не останавливается, чтобы принимать входные данные для второй раз. Пожалуйста, направляйте меня, где я делаю неправильно. Благодаря! Это мой фрагмент кодаПринимая входные данные от пользователя, используя цикл while в c
int
main()
{
int val=1;
char input;
do
{
val=nextprime(val);
printf("\n%d\t",val);
printf("Next Prime number? Y or N ");
scanf("%c",&input);
}
while(input != 'N' && input != 'n');
return 0;
}
выход я получаю:
2 Next Prime number? Y or N y
3 Next Prime number? Y or N
5 Next Prime number? Y or N y
7 Next Prime number? Y or N
11 Next Prime number? Y or N y
13 Next Prime number? Y or N
17 Next Prime number? Y or N y
19 Next Prime number? Y or N
23 Next Prime number? Y or N y
29 Next Prime number? Y or N
31 Next Prime number? Y or N n
Попробуйте ''% c "' для вашей строки формата. См. Второй ответ на [** этот вопрос **] (http://stackoverflow.com/questions/3744776/simple-c-scanf-does-not-work). На этом есть много дубликатов; это был первый, с которым я столкнулся. – WhozCraig