作者在 2018-02-08 23:38:24 发布以下内容
#include <stdio.h>
void InputPass(char pw[])//获取用户输入的密码
{
char ch;//用户输入的密码字符
char* pold = pw;//保存密码数组的首地址,用于循环内的比较
while((ch=getch())!='\r')//ASCII码值为13('\r')回车
{
if(ch=='\b'&& pw > pold)//如果按下的是退格键并且字符数组中有数据,我们才进行退格操作
{
printf("\b \b");//12345
--pw;
continue;//跳过本次循环
}
printf("*");
*pw=ch;//把获取的字符赋给pw指针所指向的那块存储区域
++pw;//让指针指向下一块存储区域
}
*pw='\0';//加上字符串的结尾标记
}
int main()
{
char my_pw[15];//用来保存密码 是用来存储一堆相同数据类型的数据
printf("请输入密码:\n");
InputPass(my_pw);
printf("\n用户输入的密码是:%s\n",my_pw);
return 0;
}