Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C 这是为了验证密码_C - Fatal编程技术网

C 这是为了验证密码

C 这是为了验证密码,c,C,我刚开始用c,但没法用 我多次尝试编辑代码,甚至在网上查找一些示例,但未能理解这是如何工作的 #include <stdio.h> #include <stdlib.h> #include <conio.h> int main() { const char p1[10]="admin"; char p2[10]; printf("Password Required:"); scanf("%s", &p2) if (p2==p1) { pr

我刚开始用c,但没法用

我多次尝试编辑代码,甚至在网上查找一些示例,但未能理解这是如何工作的

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int main()
{
const char p1[10]="admin";
char p2[10];

printf("Password Required:");
scanf("%s", &p2)

if (p2==p1)
{
    printf("Access Granted")
}
else
{
    printf("Invalid Password")
}
}
#包括
#包括
#包括
int main()
{
常量字符p1[10]=“管理员”;
charp2[10];
printf(“需要密码:”);
scanf(“%s”、&p2)
如果(p2==p1)
{
printf(“授权访问”)
}
其他的
{
printf(“无效密码”)
}
}

这是为了验证输入的密码是否正确。

您的问题在这一行:

if (p2==p1)
您正在比较内存地址,以查看它们是否相等,而不是存储在(即指向)它们的内容。要比较密码,请使用:

if (strcmp(p2, p1) == 0)

请参阅:

Yes的精确副本,这将帮助我比较字符总数,但我不确定它是否会看到字符是否匹配。您需要阅读我发布的文章-strcmp()不比较字符数,它返回一个表示相等的值:此函数返回如下值− 如果返回值<0,则表示str1小于str2。如果返回值>0,则表示str2小于str1。如果返回值=0,则表示str1等于str2。使用strcmp并查看它们是否等于0。好的,谢谢。编辑代码可以改进答案。。。