#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
int main()
{int ret = 0;
int ch = 0;
char mima[20] = { 0 };
printf("请输入密码:");
scanf("%s", mima);
printf("请确认(Y/N):");
ret = getchar();
if (ret == 'Y')
{
printf("确认成功\n");
}
else
{
printf("确认失败\n");
}
return 0;
}
在输入123456后回车
结果直接结束,并未输入(Y/N)
通过监视可知
ret值是10,有ASII码可知其对应为回车(\n);被ret读取,
解决方法在ret前再加个getchar();读取回车(\n),结果如下:
也可以用while()循环解决,如下:
标签:int,scanf,ret,回车,printf,输入,getchar From: https://blog.51cto.com/u_15842827/5805294