getchar()和getch()都是用来从键盘捕获输入字符的函数,二者有什么区别?
getchar()函数获取字符的过程如下:当执行到getchar()函数时,用户从键盘输入字符,并缓存在内存的buffer中,只有按下Enter键时,getchar()才真正的将缓冲区的字符赋给变量。于此同时,Enter键也存入了Buffer中,必须用另外一个getchar()函数来获取Buffer中的Enter值。这是getchar()函数最大的问题。当然,输入缓存也有一个好处——当用户输入了错误的字符时,可以通过Backspace来修改输入的字符。
getch()解决了getchar函数Enter键的问题,getch()函数在执行时,直接将键盘输入的字符赋值给变量,而省略了缓存的步骤。
这样,getch()函数可以获得比getchar更高的效率,缺点是无法修正错误输入的值。
时间: 2024-11-05 21:45:06