首页 > 解决方案 > 比较 C 中的哈希值

问题描述

嗨,我正在比较哈希值,但无法获得正确的输出。所以请你们帮帮我。

for(int i=0;i<len;i++)
{   
    if(hash1[i]==hash2[i])
    {
        return 1;
        break;
    }
    else
        return 0;
    break;
}

标签: c

解决方案


您在return早期使用关键字,一旦代码命中 a return,它就会退出for-loop。所以你在那里做的只是比较两个哈希的第一个元素。

break语句也打破了循环循环,但在您的代码中它实际上从未到达该语句,因为总是有一个returnbefore。

您可能应该尝试以下方法:

for (int i=0; i<len; i++) {
    if (hash1[i] != hash2[i]) {
        return 0;
    }
}
return 1;

推荐阅读