1 getchar()简介
getchar()是C语言中的函数,C++中也包含了该函数。getchar()函数的作用是从标准的输入stdin中读取字符。也就是说,getchar()函数以字符为单位对输入的数据进行读取。
2 getchar()读取缓冲区方式
在控制台中通过键盘输入数据时,以回车键作为结束标志。当输入结束后,键盘输入的数据连同回车键一起被输入到输入缓冲区中。在程序中第一次调用getchar()函数从输入缓冲区中读取一个字节的数据。需要注意的是,如果此时在程序中第二次调用getchar()函数,因为此时输入缓冲区中还有回车键的数据没有被读出,第二个getchar()函数读出的是回车符。
例如如下代码
char test1 = getchar();
char test2 = getchar();
此时在控制台中输入字符“a”并且按下回车键,test1的值是字符“a”,而test2的值是“\n”,如图1所示。
图1 test1和test2的值
3 解决方法
可以使用rewind()函数来清理输入