c语言输入密码显示星号
时间: 2024-10-28 12:15:25 浏览: 10
在C语言中,可以使用头文件conio.h中的getch()函数来实现输入密码时显示星号的效果。具体实现方法如下:
```c
#include <stdio.h>
#include <conio.h>
int main()
{
char password[20];
int i = 0;
char ch;
printf("请输入密码:");
while ((ch = getch()) != '\r') // 当输入回车键时结束循环
{
if (ch == '\b') // 如果输入了退格键
{
if (i > 0) // 如果密码长度大于0
{
i--; // 密码长度减1
printf("\b \b"); // 输出退格符,再输出空格符,最后再输出退格符,以达到删除一个字符的效果
}
}
else // 如果输入的不是退格键
{
password[i++] = ch; // 将输入的字符存入密码数组中,并将密码长度加1
printf("*"); // 输出星号
}
}
password[i] = '\0'; // 在密码数组的末尾添加字符串结束符
printf("\n您输入的密码是:%s\n", password);
return 0;
}
```
上述代码中,使用了一个字符数组password来存储输入的密码,使用了一个变量i来记录密码的长度。在输入密码时,如果输入的是退格键,则将密码长度减1,并输出退格符、空格符和退格符,以达到删除一个字符的效果;如果输入的不是退格键,则将输入的字符存入密码数组中,并输出星号。当输入回车键时,循环结束,将字符串结束符添加到密码数组的末尾,并输出输入的密码。
阅读全文