我正在尝试编写一个简单的密码提示..我必须承认,我发现了一些代码,但它不能用于我的特定目的。我还在学习C,这只是阶梯上的又一步。如果密码正确,我正试着把它带到继续的地方,如果密码不正确,我会终止它。
int c;
char pass[20] = "";
char *end = pass + sizeof(pass) - 1;
char *dst = pass;
printf("Enter password: ");
while ((c = getchar()) != EOF && c != '\n' && dst < end)
*dst++ = c;
*dst = '\0'; // Ensure null termination
printf("\nPass: %s\n", pass);
return 0;
代码似乎在“输入密码”提示符处“锁定”。谢谢你的帮助。非常感谢。
答案 0 :(得分:1)
您需要使用if
添加strcmp
语句,以检查输入的密码是否正确。
#include<stdio.h>
#include <stdlib.h>
int main(void)
{
int c;
char pass[20] = "";
char *end = pass + sizeof(pass) - 1;
char *dst = pass;
char admin[] = "12345";
printf("Enter password: ");
while ((c = getchar()) != EOF && c != '\n' && dst < end)
*dst++ = c;
*dst = '\0'; // Ensure null termination
if(strcmp(admin, pass) == 0)
printf("\nPass: %s\n", pass);
else
{
printf("Incorrect password");
return 0;
}
return 0;
}