当密码为123456时:
int main()
{
int ret = 0;
char password[20] = { 0 };
printf("请输入密码:>");
scanf("%s", password);//输入123456的话,实际上计算机得到的123456\n,因为输入123456后还要按回车键,其相当于换行;输入函数里面可以看作有一个输入缓冲区,password把123456拿走后,还剩下\n
//%s符是输出字符串要写出来的标识符;
//输入密码,并存放在password的数组中
getchar();//此代码就是将输入缓冲区的\n拿走,不用管它到底存储在何处
//若没有上步代码,将会影响下面输出的内容,\n将会被下面的getchar拿走,赋值给ret,ret不是Y,就直接输出放弃确认..
printf("请确认(Y/N):>");
ret = getchar();//此刻输入缓冲区是空的,就就会等待输入,读取数据
if (ret == 'Y')
printf("确认成功\n");
else
printf("放弃确认\n");
return 0;
}
当密码为123456 ABCD时
int main()
{
int ret = 0;
char password[20] = { 0 };
printf("请输入密码:>");
scanf("%s\n", password);//若密码为123456 ABCD,可以用循环语句来解决问题
while (getchar() != '\n')//while循环语句,当getchar取到的字符不是\n为假,那么就跳出循环
{
;
}
printf("请确认(Y/N):>");
ret = getchar();//此刻输入缓冲区是空的,就会等待输入,读取数据
if (ret == 'Y')
printf("确认成功\n");
else
printf("放弃确认\n");
return 0;
}