c - 比较 C 中的哈希值
问题描述
嗨,我正在比较哈希值,但无法获得正确的输出。所以请你们帮帮我。
for(int i=0;i<len;i++)
{
if(hash1[i]==hash2[i])
{
return 1;
break;
}
else
return 0;
break;
}
解决方案
您在return
早期使用关键字,一旦代码命中 a return
,它就会退出for
-loop。所以你在那里做的只是比较两个哈希的第一个元素。
该break
语句也打破了循环循环,但在您的代码中它实际上从未到达该语句,因为总是有一个return
before。
您可能应该尝试以下方法:
for (int i=0; i<len; i++) {
if (hash1[i] != hash2[i]) {
return 0;
}
}
return 1;
推荐阅读
- reactjs - Apollo 客户端 - 具有来自对象的计算值的本地字段
- javascript - 如何使用 CSV 数据并在 p5.js 中绘图
- javascript - NextJS 作为后端 JS
- azure - 如果在 Key Vault 中更新了机密,是否应该重新启动 Azure Functions 应用?
- containers - 如何仅指定图像名称在 cri-o 中启动容器?
- python - python速成课程heroku ModuleNotFoundError:没有名为'bootstrap4'的模块
- spring-boot - 春季启动 logging.file.max-size 不起作用
- r - 如何在r中按范围分组?
- python - int() 参数必须是字符串、类似字节的对象或数字,而不是 'NoneType' - Django
- linux - GLIBC_2.17 已安装但仍然出现“`GLIBC_2.14' not found”错误