c语言关于密码设置的问题。。只要能把所输入的字符在屏幕上显示*,而且同时把密码赋值给一个特定的值
c语言关于密码设置的问题。。只要能把所输入的字符在屏幕上显示*,而且同时把密码赋值给一个特定的值请问这个源代码是什么???
程序代码:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
#define SIZE 20 //定义最大密码长度
char input();
int main()
{
char x[SIZE];
int times = 0;
int p;
printf("请输入密码:\n");
while(1)
{
p = input();
if(p == '\0' && times !=0)
{
x[times] == p;
break;
}
if(p == '\0' && times ==0)
{
printf("密码不能为空!\n");
printf("请输入密码:\n");
}
if(p == '\b' && times != 0 )
{
times--;
printf("\b \b");
}
if(p == '\b' && times == 0)
{
putchar('\a');
}
if(p != '\b' && p != '\r' && p != '\0')
{
x[times] = p;
times++;
}
}
x[times] = '\0';
printf("\n输入的密码是:%s\n", x);
return 0;
}
char input()
{
char x;
x=getch();
switch(x)
{
case ' ' :
case '\r':
return '\0';
break;
case '\b':
return '\b';
break;
default :
putch('*');
return x;
break;
}
}
