C语言丨getch(),getche()和getchar()的区别

关于C语言中的getch(),getchar() getche()函数肯定十分困扰大家,今天将他们整理和大家一起分享.

1、getchar()

函数名:getchar()

头文件:stdio.h

功  能:读取控制台输入的字符,并保存在键盘缓冲区中。直到用户按回车为止(回车字符也放在缓冲区中)。

原  型:int getchar(void);

例如:

#include <stdio.h>

int main(void)

{

    printf("%cn", getchar());

    return 0;

}

当输入一个字符并按回车时,该字符被存入缓冲区中,printf函数再把缓冲区中的该字符输出。如输入输出实例:

d

d

2、getch()

函数名:getch()

头文件:conio.h

功  能:从控制台读取一个字符,但不显示在屏幕上(不带回显)。

原  型:int getch(void)

返回值:读取的字符

例如:

#include <stdio.h>

#include <conio.h>

int main(void)

{

    printf("%cn", getch());

    return 0;

}

输入输出实例:

d

输入d,不会显示d,当调用printf函数后才输出d。控制台读取一个字符,但不显示在屏幕上(不带回显)。

3、getche()

函数名:getche()

头文件:conio.h

功  能:输入后立即从控制台取字符,不以回车为结束,且立刻显示在屏幕上(带回显)。

用  法:int getche(void);

例如:

#include

#include <conio.h>

int main(void)

{

    printf("%cn", getche());

    return 0;

}

该函数的输入输出示例:

dd

也就是说,输入d,直接就输出d,不需要按回车键,即该函数不带缓冲区,且输入有回显。回显的意思就是在控制台显示输入的字符。

注意: getch()和getche()函数

这两个函数都是从键盘上读入一个字符。其调用格式为:

getch();

getche();

两者的区别是: getch()函数不将读入的字符回显在显示屏幕上, 而getche()函数却将读入的字符回显到显示屏幕上。利用回显和不回显的特点, 这两个函数经常用于交互输入的过程中完成暂停等功能。

C语言丨getch(),getche()和getchar()的区别

 

总结

相同点:

  1.都不需要参数;

  2.功能一致:从输入设备获取一个字符并返回这个字符;

不同点:

  1.getchar()先将输入的字符保存在缓冲区,然后再从缓冲区读取这个字符,是间接读取;

  2.getche()和getch()不需要将输入的字符保存在缓冲区,而是即输即取,也就是说,一输入一个字符,它立即直接读取;

  3.直观一些:

    #include <stdio.h>

    main()

    {

        int a,b,c;

        a=getchar();

        b=getche();

        c=getch();

     }

      1.执行到getchar()函数时,光标闪动,等待输入字符:输入字符后无变化,需要按回车键, 按回车键后,getchar读取了这个字符,并将其赋值给变量a。

       2.执行到getche()函数时,光标闪动,等待输入字符:输入字符后,不需按回车键,在输入后,getche立即读入并赋值给b。

       3.执行到getch()函数时,光标闪动,等待输入字符:输入字符,并不能看到你输入的字符,屏幕仍是; 但在输入后瞬间,getch()函数就读取并赋值给了c。

以上就是getchar()、getche()、getch()的区别,如有错误欢迎指出!

C语言丨getch(),getche()和getchar()的区别

 

如果你想更好的提升你的编程能力,学好C语言C++编程!弯道超车,快人一步!
C语言C++学习企鹅圈子】,分享(源码、项目实战视频、项目笔记,基础入门教程)
欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!

编程学习书籍:

C语言丨getch(),getche()和getchar()的区别

 

编程学习视频:

C语言丨getch(),getche()和getchar()的区别

 

原文链接: https://www.cnblogs.com/mu-ge/p/14263852.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    C语言丨getch(),getche()和getchar()的区别

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/207210

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月12日 下午10:50
下一篇 2023年2月12日 下午10:51

相关推荐