关于printf()在循环中重复打印两次的有关问题

关于printf()在循环中重复打印两次的问题
关于printf()在循环中重复打印两次的有关问题
关于printf()在循环中重复打印两次的有关问题
这个程序主要是用来判断输入的字符是否为大写字母,但是:在while循环中我只有一个printf()函数,第一次输入了小写字母为什么随后会两次打印“The character is not valid, please input again:”的?谢谢!
------解决思路----------------------
你有发现,你输入的时候,先按一下Y键,在按一下回车键结束输入。那么scanf第一次得到的是'y',第二次得到的是'\n'。
------解决思路----------------------
如二楼所说,scanf会接收回车键字符,将while循环体中的前面加上
fflush(stdin) ;    \\清空缓冲区
if(ch == 10)       \\忽略回车字符
continue;     
------解决思路----------------------
因为有回车符,回车符的ASCII值为10,所以满足循环。建议在scanf("%c", &c);后面加上一句getchar();这样试试应该就没有两次循环了。