帮我详细解释一下这个C程序!!!谢谢

来源:百度知道 编辑:UC知道 时间:2024/06/15 00:48:10
typedef long BOOL;
#define TRUE 1
#define FALSE 0

BOOL InputPassword(char *password)
{
if(password)
{
int key = 0;
while((key = getch()) != 13)
{
*password = key;
password++;
putch('*');
}
*password = 0;
return TRUE;
}
return FALSE;
}

BOOL InputPassword(char *password) //输入参数为一个字符数组的首地址指针
{
if(password)//判断输入的password是否为空,不为空则继续
{
int key = 0; //定义一个变量,用以接收用户输入的键值(ASCII码值)
while((key = getch()) != 13) //当用户输入回车(ASCII码值为13)时退出循环
{
*password = key; //将当前指针所指向的字符数组成员赋值为用户输入的字符值
password++;//指针后移一位
putch('*'); //将用户输入的值用'*'显示在屏幕上
}
*password = 0; //将当前指针所指向的字符数组成员赋值为0(也就是自动在密码的最后加一个0结束)
return TRUE; //正常返回
}
return FALSE; //密码为空的话,FALSE返回
}

typedef long BOOL; //定义 BOOL 为长整形的别名。
#define TRUE 1 //宏定义 TRUE 为 1
#define FALSE 0 //宏定义 FALSE 为0

BOOL InputPassword(char *password)
{
if(password) //假如 password 不为 NULL
{
int key = 0;
while((key = getch()) != 13) //当输入的字符ascii码不为13,即回车符
{
*password = key; //设置 password 当前位置字符为key
password++; //password指针位置后移
putch('*'); //输出 *
}
*password = 0; //设置 password最后一个字符为 '\0'
r