C语言求助,如果可以回删已经显示的星号要怎么写

#include<stdio.h>#include<string.h>#include<stdlib.h>#include<conio.h>intmain(){chara... #include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<conio.h>
int main()
{
char a[16],b[16];
char username[]="f123";
char password[]="f321";
do
{
printf("username:");
gets(a);
printf("password:");
for(int i=0;;i++)
{
b[i]=getch();
if(b[i]=='\r')
{
b[i]='\0';
break;
}
printf("*");
}
if (strcmp(a,username)==0 && strcmp(b,password)==0)
{
printf("----欢迎登录----\n");
return 0;
}
else
{
printf("\n用户名或密码错误\n\n");
}
}
while(!0);
}
添加else if(b[i]=='\b') { printf("\b \b"); continue; },这样回删不行,回删重新输入登录不进去
展开
 我来答
金色潜鸟
2018-06-15 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5493万
展开全部
else if(b[i]=='\b') { printf("\b \b"); i=i-1; continue; }
接收一个 \b, 处理后, 循环变量 i 要扣掉 1 (或2,要试验一下), 也就是丢弃 一个 已存放的 b[i]。
追问
不行啊,运行后删除重输正确的密码还是不能登陆
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式