//使用示例:
int main()
{
//我们在键盘上输入的放在缓冲区里面
//scanf和getchar从缓冲区里面读取
char password[20] = { 0 };
printf("请输入密码:>");
scanf("%s", password);//scanf在缓冲区里面读取内容,读到空格或者\n结束
//如果输入的password中间有空格,空格后面还有内容,比如abc ef
//scanf只能读取到abc,并且在读取到之后,会自动的在末尾c后面加一个\0
//那么一个getchar是无法清理掉abc后面的内容的,我们就用循环,一直读到\n回车结束
while (getchar() != '\n')
{
;
}
printf("请确认密码(Y/N):>");
int ch = getchar();
if (ch == 'Y')
{
printf("确认成功\n");
}
else
{
printf("确认失败\n");
}
return 0;
}
关于getchar和scanf的使用示例及注意点
最新推荐文章于 2022-11-01 23:36:40 发布
这篇博客展示了C语言中如何使用scanf和getchar处理用户输入,特别是针对密码输入的场景。通过示例代码解释了如何确保读取整个输入行,包括处理可能存在的空格,并进行确认密码的验证。同时,强调了在读取用户输入时需要注意的细节,如缓冲区管理和字符串结束标志。
摘要由CSDN通过智能技术生成