getchar()读取单个字符的函数
返回值为int,返回的是ASCLL码值
getchar()和scanf()它俩从键盘读取数据的时候都是先放在一个缓存区中,然后函数再取走数据
当我们getchar()输入的时候结束会敲一个回车符号,就会导致多输入/n放在缓存区,当第一个getchar()拿走缓存区的第一个数据的时候/n还存在在缓存区,下一个getcahr()从缓存区拿数据的时候不会直接把你所从键盘输入的下一个数据直接拿走,它会拿走最近的一个字符也就是/n
个人理解的getchar()清空作用,就是每次调用它,它都会拿走一个字符,当需要清空的东西比较多的时候,我们可以用while循环直到getchar()='/n'
推荐看sunny-ll该博主的帖子