1、 getchar是读入函数的一种。它从标准输入里读取下一个字符,相当于getc(stdin)。返回类型为int型,为用户输入的ASCII码或EOF。
2、 putchar()以无符号 char 强制转换为 int 的形式返回写入的字符。
(1)当输出正确的时候,返回输出字符转换为的unsigned int 值;
(2)当输出错误的时候,返回 EOF(End of file)文件结束符。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int ch = 0;
//EOF--end of file文件结束标志 -> -1
//getchar()读取字符;getchar是读入函数的一种,键盘输入什么就读取什么;
//它从标准输入里读取下一个字符,相当于getc(stdin)。
//返回类型为int型,为用户输入的ASCII码或EOF。
while ((ch = getchar()) != EOF)
{
putchar(ch);//打印键盘输入的内容
}
return 0;
}
执行结果如下图所示:
键盘输入123,屏幕命令行窗口打印123;
3、利用getchar()进行密码确认的举例:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
char password[20] = { 0 };
int ch = 0;
int ret = 0;
printf("请输入您的密码:");
scanf("%d", &password);
printf("请确认密码->Y/N\n");
while ((ch = getchar()) != '\n')//不断接收字符,直到接收到'\n'!= '\n',跳出循环
{
;//空语句不做任何事情
}
ret = getchar();//从键盘获取字符
if (ret == 'Y')
{
printf("密码正确\n");
}
else
{
printf("密码错误\n");
}
return 0;
}
执行结果如下:
4、通过getchar()相关条件限制实现:只能输出数字,不能输出字母的功能:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main()
{
int ch;
while ((ch = getchar())!= EOF)
{
if (ch < '0' || ch>'9')//只能输出数字,不能输出字母
{
continue;
}
putchar(ch);
}
return 0;
}
对照ASCII码表:
执行结果如下: