当用户输入密码字符时,我将开发一种在命令行中获取密码并为每个字符显示*的方法。我的编程语言是c,我也喜欢c代码 我尝试这个代码,但它不起作用,它不会隐藏密码字符,也不会终止接收密码。
int i,j=1;
printf("Enter your PASSWORD : ");
while(j > 0)
{
c=getch();
if (c==13) j=0;
else
{
password[i] = c;
printf("*");
i++;
}
}
printf("You Entered %s ", password );
printf("as an PASSWORD");
答案 0 :(得分:1)
好吧,我在代码中看不到任何问题,除了'i'在递增之前没有被初始化为0。这是您的代码的简化版本。
int i=0; char c, pass[101];
printf("Enter your PASSWORD (100 Chars max): ");
while(c!=13 && i<100){
pass[i++]=c=getch();
printf((c!=13)?"*":"\n");
}
pass[i--] = '\0';
printf("\n\tYou Entered %s ", pass);