用C语言写一个动态密码输入的程序
时间: 2023-10-15 15:08:17 浏览: 68
下面是一个用C语言编写的动态密码输入程序的示例:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_PASSWORD_LENGTH 20
int main() {
char password[MAX_PASSWORD_LENGTH];
char input[MAX_PASSWORD_LENGTH];
printf("请输入密码:");
fgets(password, MAX_PASSWORD_LENGTH, stdin);
password[strcspn(password, "\n")] = '\0'; // 移除输入中的换行符
printf("请输入密码进行验证:");
fgets(input, MAX_PASSWORD_LENGTH, stdin);
input[strcspn(input, "\n")] = '\0'; // 移除输入中的换行符
if (strcmp(input, password) == 0) {
printf("密码正确!\n");
} else {
printf("密码错误!\n");
}
return 0;
}
```
在上述代码中,首先定义了两个字符数组`password`和`input`,分别用于存储用户设置的密码和输入的密码。`MAX_PASSWORD_LENGTH`宏定义了密码的最大长度,可以根据需要进行调整。
程序会先要求用户输入密码并存储在`password`数组中,然后再要求用户输入进行验证的密码,并存储在`input`数组中。使用`fgets`函数可以读取用户的输入,并将输入存储在相应的数组中。接着,使用`strcmp`函数来比较用户输入的密码和设置的密码是否相同,如果相同,则输出密码正确,否则输出密码错误。
注意,在上述代码中,为了避免缓冲区溢出,使用了`strcspn`函数将输入中的换行符替换为字符串结束符`\0`。这样可以确保输入的密码不会包含换行符,避免对后续逻辑产生影响。
编译并运行上述代码后,即可实现一个简单的动态密码输入程序。