This question already has answers here:
How do I properly compare strings?
(8个答案)
去年关闭。
我正在研究Pset2:破解,但我认为背景并不重要。
我在
无论如何,对于下面的代码或进一步的阅读有任何帮助。
我期望输出为“ true”,但是(a == x)没有通过if条件
(8个答案)
去年关闭。
我正在研究Pset2:破解,但我认为背景并不重要。
我在
crypt()
函数的输出中遇到了一些问题,并且我一直试图找出问题所在-我认为这是因为crypt()
输出指针吗?我距离CS50只有2周的时间,并且已经阅读了一些指针。我了解它实际上并没有存储我要查找的数据,而是在内存中存储了数据的地址线,但是这种知识对我来说并不能解释为什么我不能将crypt()
的输出与均衡器==
。无论如何,对于下面的代码或进一步的阅读有任何帮助。
int main(int argc, string argv[])
{
string key = "f";
string salt = "50";
string a = crypt(key, salt);
string x = "50AWs/7oe6pkA"; // this is the hash output from crypt(f, 50)
if(a == x)
{
printf("true\n");
}
}
我期望输出为“ true”,但是(a == x)没有通过if条件
最佳答案
将C字符串(char *)与strcmp进行比较,否则,您只需比较两个指针,此处它们就不能相等
int main(int argc, string argv[])
{
string key = "f";
string salt = "50";
string a = crypt(key, salt);
string x = "50AWs/7oe6pkA"; // this is the hash output from crypt(f, 50)
if(!strcmp(a, x))
{
printf("true\n");
}
}
关于c - cs50 Pset2:Crack-帮助我了解“==”的某些内容,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54440975/
10-11 21:58