//-------------------------------------------------------------------------------- //编译环境:Visual Studio 2013 //系统环境:Windows 10 x64 //调试程序:C函数库stdio getchar函数 //调试人员:魔有追求 //最后修改:2018年4月1日16:20:01 //作者声明:欢迎大家补充指正,转载请注明出处,睡觉没前途( T o T ). z Z //-------------------------------------------------------------------------------- //函数原型:int getchar(void); //从键盘缓冲区中读取1个字符(任意字符包括'\n'),并返回,如果出错则返回EOF //总结: //程序开始运行时,操作系统为程序的键盘输入建立缓冲区,缓冲区存储从程序开始到结束的键盘输入 //按下回车键,键盘输入被送至缓冲区内,包括回车符 //输入字母时,光标不闪烁,需要按回车让光标变为闪烁,这个让光标回到闪烁状态的回车并不会被存储到缓冲区中 //每次调用getchar()从缓冲区中取走1个字符(包括'\n'),当缓冲区无字符,程序停止等待输入 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <string.h> int main_01getchar (); int main () { main_01getchar (); system ( "pause" ); return 0; } int main_01getchar () { int ch ; ch = getchar (); printf ( "第一个字符%c" , ch ); ch = getchar (); printf ( "第二个字符%c" , ch ); ch = getchar (); printf ( "第三个字符%c" , ch ); //01 // 输入: // a和两个回车,程序继续执行,到第3个getchar(),程序停止等待输入,输入一个回车,程序继续执行 // 输出: // 第一个字符为'a' // 第二个字符为回车 // 第三个字符为回车 // 分析: // 输入a时,出现下划线并且光标不闪烁,输入第一个回车时,光标闪烁,输入第二个回车时程序继续执行,到第3个getchar(),程序停止等待输入 // 输入第三个回车,程序继续执行 //02 // 输入: // 空格和一个回车,程序继续执行,到第3个getchar(),程序停止等待输入 // 输出: // 第一个字符为空格 // 第二个字符为回车 // 分析: // 输入空格时,没有出现下划线,光标闪烁,接着输入一个回车,程序继续执行,到第3个getchar(),程序停止等待输入 //03 // 输入: // ','和一个回车,程序继续执行,到第3个getchar(),程序停止等待输入 // 输出: // 第一个字符为',' // 第二个字符为回车 // 分析: // 输入','时,没有出现下划线,光标闪烁,接着输入一个回车,程序继续执行,到第3个getchar(),程序停止等待输入 system ( "pause" ); return 0; }