getchar()函数从STDIN(标准输入)获取并返回下一个字符,如果到达文件尾返回EOF.
C 执行输入语句,要等到用户输入数据 并 打入 Enter 键后才开始。
用户打入的数据和 Enter 键 都在 输入 缓冲区 中。
输入语句 是从 缓冲区 中 依次 取 数。
下一个输入语句, 先到缓冲区 中 找没读完的数,缓冲区若有数,就取来用,若没有,就等待,一直等到 用户 打入 Enter 键,再开始取数。
语法:
#include <stdio.h>
int getchar( void );
#include <iostream>
#include <stdio.h>
using namespace std;
int main()
{
char x;
printf("Enter 1 please: ");
x=getchar();
putchar(x);
x=getchar(); // 吸收Enter,这里可以分别在注释掉和没注释掉的情况下进行测试,找到感觉
printf("\n");
printf("Enter 2 please: ");
x=getchar();
putchar(x);
return 0;
}
叫你打1,但只打1 无 Enter 键,输入语句并不开始执行,
你若打了1,又打了Enter 键,getchar();只用去 1,余下的 Enter 键,还在 缓冲区,如果不用 吸收Enter 那句,printf(“Enter 2 please: “); 后 面的 getchar(); 就 不等你输入,就从 缓冲区 取Enter,程序就结束了。
另外,最重要的应用:
一般在上一步使用cin或者scanf之后,下一步如果要输入字符串,则加一个getchar()