关于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匹配么~
希望大家能帮我+上详细的注释 谢鲁~ 展开
#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匹配么~
希望大家能帮我+上详细的注释 谢鲁~ 展开
展开全部
#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';
}
#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 广告
2024-07-18 广告
Excel一键自动匹配,在线免费vlookup工具,3步完成!Excel在线免费vlookup工具,点击32步自动完成vlookup匹配,无需手写公式,免费使用!...
点击进入详情页
本回答由TableDI提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询