标签:io ar 使用 sp 文件 on 2014 bs as
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
getchar() getch() 和 getche() 的区别
标签:io ar 使用 sp 文件 on 2014 bs as
原文地址:http://www.cnblogs.com/2714585551summer/p/4116276.html