【发布时间】:2014-10-03 07:48:52
【问题描述】:
我正在创建一个用于生成下一个素数的程序,我需要接受用户输入。我正在使用 do-while 循环,但它不会停止第二次输入。请指导我哪里做错了。谢谢! 这是我的代码 sn-p
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"作为您的格式字符串。请参阅this question 的第二个答案。这有很多重复;那是我遇到的第一个。