天天看点

C函数库stdio函数详解getchar函数

//-------------------------------------------------------------------------------- //编译环境: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; }