关于C语言中 输入密码时变星号的 一些问题

#include<stdio.h>#include<conio.h>main(){charpassword[20];charch;intn=0;while((ch=get... #include<stdio.h>
#include<conio.h>
main()
{
char password[20];
char ch;
int n=0;
while ((ch = getch()) != '\r') //没输入一个字符,判断是否为回车
{
if (ch == '\b')
{
if ((n-1) < 0)
{
password[0] = '\0';printf("\b \b");
}
else
{
password[n--] = '\0';printf("\b \b");
}
}
else
{
password[n] = ch;putchar('*');n++;
}
}
password[n] = '\0';
}

可以帮我+上注释么- - 我看得不太懂耶~
第一个if语句是和第一个else匹配么~
希望大家能帮我+上详细的注释 谢鲁~
展开
 我来答
新李话
推荐于2016-05-14 · 超过43用户采纳过TA的回答
知道小有建树答主
回答量:91
采纳率:0%
帮助的人:75万
展开全部
#include<stdio.h>
#include<conio.h>
main()
{
char password[20];#include<stdio.h>
#include<conio.h>
main()
{
char password[20]; //定义长度为20的数组password
char ch;
int n=0;
while ((ch = getch()) != '\r') //判断输入的字符是否为回车,若是,则循环结束
{
if (ch == '\b')//若输入的字符是否为退格
{
{
if ((n-1) < 0)//若目前长度为0
{
password[0] = '\0';printf("\b \b");//该秘密位为空,打印
}
else
{
password[n--] = '\0';printf("\b \b");//该密码位的上一位为空,打印
}
}
else
{
password[n] = ch;putchar('*');n++;//赋值该字符,打印密码*,n自增
}
}
password[n] = '\0';//最后以空结束
}

char ch;
int n=0;
while ((ch = getch()) != '\r') //没输入一个字符,判断是否为回车
{
if (ch == '\b')
{
if ((n-1) < 0)
{
password[0] = '\0';printf("\b \b");
}
else
{
password[n--] = '\0';printf("\b \b");
}
}
else
{
password[n] = ch;putchar('*');n++;
}
}
password[n] = '\0';
}
TableDI
2024-07-18 广告
Excel一键自动匹配,在线免费vlookup工具,3步完成!Excel在线免费vlookup工具,点击32步自动完成vlookup匹配,无需手写公式,免费使用!... 点击进入详情页
本回答由TableDI提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式