在While循环中,如何运用Getchar()函数进行字符清理?
- 内容介绍
- 文章标签
- 相关推荐
本文共计295个文字,预计阅读时间需要2分钟。
1. 系统提示用户输入字符串,用户输入后需按回车键确认结束。此时输入缓冲区中多出一个换行符'\n',需清除该字符后程序才能继续执行。
2.用户输入字符串时,若其中包含特定字符特定字符,需进行处理。
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;
}
输出结果:
本文共计295个文字,预计阅读时间需要2分钟。
1. 系统提示用户输入字符串,用户输入后需按回车键确认结束。此时输入缓冲区中多出一个换行符'\n',需清除该字符后程序才能继续执行。
2.用户输入字符串时,若其中包含特定字符特定字符,需进行处理。
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;
}
输出结果:

