1、在系统要求用户输入字符串后,需用户敲击回车键确认输入结束。此时在输入缓存区内还剩余一个'\n'字符,必须清除该字符后才能不影响后续程序执行。

2、当用户输入字符串中带有空格时,例如“123 ABC”,scanf()只能获取空格前字符串,输入缓冲区还有剩余字符串,使用getchar()清除。

3、While循环中,break语句终止并跳出循环,continue语句跳过当前循环内剩余代码再次从while开始循环。

int main() {

	int ret = 0;
	char password[20] = {0};

	printf("请输入密码:>");
	scanf("%s", password);

	while ((getchar()) != '\n') {
		;
	}

	printf("请确认(Y/N):>");
	ret = getchar();

	if (ret == 'Y') {
		printf("确认成功!\n");
	} else {
		printf("确认失败!\n");
	}

	return 0;
}

输出结果:

使用While循环、Getchar()处理字符清理_while循环