getchar ,输入函数,从键盘(标准输入)读取一个字符;读取错误时,返回EOF。
EOF, 本质是整型-1,文件结束标志
putchar, 输出一个字符,相当于 printf("%c\n",ch)
代码1:
int mian ()
{
int ch = 0 ;
while ((ch = getchar()) != EOF )
putchar(ch);
return 0;
}
效果:输入一个字符,则屏幕输出一个字符;结束按ctrl+z
原理:
代码2:
结果:当按入123456,回车时,直接显示确认失败
原理:
scanf 拿走了123456;getchar 未作等待,直接拿走了\n(\n表示回车)放到ch,这就导致If 判断语句为假,输出确认失败
修改:
需要拿走\n
可以添加getchar,拿走'\n'
代码3:
利用while循环清理缓冲区中多个字符
修改后