getchar用法例子
getchar解析
一、getchar的返回类型及作用机制
getchar——读取字符的函数
返回类型为int,参数为void.
有人可能会有疑惑,getchar既然是读取字符的,为什么返回类型是int呢?
1、getchar其实返回的是字符的ASCII码值(整数)。
2、getchar在读取结束或者失败的时候,会返回EOF。
意思是
getchar先读取一个字符放到ch里面去,如果这个字符不等于EOF,就进入循环,打印这个字符。当getchar读到文件末尾或者结束时,它会返回一个EOF,此时结束循环。
我们来运行试一下
输入A,输出A;输入b,输出b…
当我们想要结束时,输入ctrl+Z,再按回车即可。
注意,如果上面的代码不用while循环的话,输入123,putchar()只会输出1。因为一个getchar一次只能读取一个字符。
三、实例(“输入密码”)进一步了解
1、代码达不到理想效果
我们再来看看下面这段代码
#include<stdio.h>int main(){
char password[20] = {0};
printf("请输入密码:>");
scanf("%s", password);
printf("请确认密码(Y/N):>");
int ch = getchar();
if (ch == 'Y')
{
printf("确认成功\n");
}
else
{
printf("确认失败\n");
}
return 0;}123456789101112131415161718192021123456789101112131415161718192021
按理说,我们是想要输入密码,然后再输入N或者Y,根据我们输入的是N还是Y打印“确认成功”或“确认失败”。
我们来运行一下,看看是否是这样