getchar() getch() 和 getche() 的区别

getchar()  getch()和getche()的区别:

             (有时候遍程序的时候,都会因为没有清空缓存区而导致结果错误,而且错误不易发现)

getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).每次从缓存区中读取一个字符并回显,其余的在再次调用的时候在继续读取,直到读取了回车字符,才停止,等待用户输入。(如果有次你还没有输入完你的字符就输入回车,然后在输入字符,那么这中间就会有一个回车当成了字符,导致结果不正确。有时候,输入的字符多了,用完了自己要用的字符后,一定要记得清空缓存区  fllush(stdin);,否则在下次调用getchar的时候,它会直接使用原来缓存区里的字符,而不是你新输入的字符)。getchar有一个int型的返回值,所以呢,它返回的是第一个字符的ascll码,出错返回-1,这个的头文件是stdio.h。

    getch是直接获取字符的,不等用户按回车,只要用户按一个键,getch就立刻返回,getch返回值是用户输入的ASCII码,出错返回-1.输入的字符不会回显,getch()经常用在调试中,用getch()让程序卡住,等你输入任意键后,才会继续运行。这个必须引入头文件conio.h

getche()的功能是输入后立即从控制台取字符,不以回车为结束(带回显) 这个也必须引入头文件conio.h, getch和getche的差别就在于有无回显。

                       

  

 

 

 

 

By:暖暖

20141123

转载于:https://www.cnblogs.com/2714585551summer/p/4116276.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值