int putchar(int char)
把参数 char 指定的字符(一个无符号字符)写入到标准输出 stdout 中。
int getchar(void)
从标准输入 stdin 获取一个字符(一个无符号字符)。这等同于 getc 带有 stdin 作为参数。
//EOF = end of file (文件的结束标志)
//程序的意义:键盘输入一个字符,只要不是EOF就持续循环输入、打印字符。
int main()
{
int ch = 0;
// EOF = -1
while ((ch = getchar()) != EOF)
{
putchar(ch);
}
return 0;
}
// 输入EOF,仍然打印EOF,继续循环
// 输入“ ctrl+z ”,即终止循环
// scanf()遇到'\n'就停止读取
// getchar()每次只能读取一个字符
int main()
{
int ch = 0;
char password[20] = { 0 };
cout << "请输入密码:";
scanf("%s", password);
cout << "请确认(Y/N):";
ch = getchar();
if ('Y' == ch)
printf("确认成功\n");
else
printf("放弃确认\n");
return 0;
}
/*
这段程序输入字符串“123”后直接弹出“放弃确认”
因为输入缓存区存入了“123\n”,scanf()读取了“123”后停止,
getchar()接着读取“\n”,所以后续不满足('Y'==ch),直接输出“放弃确认”。
*/
int main()
{
int ch = 0;
char password[20] = { 0 };
cout << "请输入密码:";
scanf("%s", password);
// 处理缓存区多余的字符
while (getchar() != '\n')
;
cout << "请确认(Y/N):";
ch = getchar();
if ('Y' == ch)
printf("确认成功\n");
else
printf("放弃确认\n");
cout << endl << "已确认的密码为:" << password << endl;
return 0;
}