getchar与getch函数的区别

  • 输入输出缓冲流的概念
  当通过键盘向计算机显示器屏幕输出字符串时,计算机先把键盘输入的字符存到
缓冲区中,再从缓冲区读取数据输出显示到屏幕上。这样数据目标不用考虑数据源的发送频率
只是从缓冲区中依次取出下一个数据。从而保证了数据发送的完整性,同时也提高了程序的效率。
  • getchar函数
1.getchar函数的作用是从缓冲流中读入一个字符,如果缓冲区没有数据才会等待键盘输入。
2.也就是说,如果缓冲流有数据的话不用人工输入它就可以直接读取,继续执行了。
3.而且其每一次输入的字符都会显示到屏幕上。
4.getchar()函数等待输入直到按回车才结束,可以输入多个字符但只有第一个字符作为返回值
5.如果要避免缓冲区的影响直接从键盘读数据可以清除缓冲区,setbuf(stdin, NULL);
  • getch函数
与getchar不同,getch函数直接从键盘接收一个字符,与缓冲流无关。

你可能感兴趣的:(数据结构/算法)