首先,getchar和scanf 都表示输入。
在他们的使用中,容易错误的是在getchar接受内容时,是从缓冲室拿取一个元素。所以,如果前方接收元素,再用printf打印后,如果直接使用getchar进行下一次输入,这次是输入的会是上一次接收时剩下的\n或者是空格(因为printf只会打印空格之前的元素),此时输出的为错误。
解决方法:将上次未使用完的元素全部用getchar()接收完全,再接着重新输入接收。
while((ch=getchar())!=‘\n’)
{
;
}
即可。
最后,欢迎大家找出错误和分享更加好的方法。