我正在创建一个程序来生成下一个素数,为此我需要用户input.I使用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 2014-10-03 07:51:48