[C语言] getchar清理缓冲区

2021年09月15日 阅读数:3
这篇文章主要向大家介绍[C语言] getchar清理缓冲区,主要内容包括基础应用、实用技巧、原理机制等方面,希望对大家有所帮助。

getchar() 只能处理一个字符  因此须要循环ide

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>



int main()
{

	char password[20] = { 0 };
	printf("请输入密码:>");
	scanf("%s", password);  // password不须要加&来取地址  自己就是地址
	printf("请确认密码(Y/N):>");

	// getchar();  字符多的话清理不完
	int tmp = 0;
	while (tmp = getchar() != '\n')  //清理缓冲区的多个字符
	{
		;
	}

	int ch = getchar();
	if (ch == 'Y')
	{
		printf("确认成功\n");
	}
	else
	{
		printf("确认失败\n");
	}
	return 0;
}