gpt4 book ai didi

c - 如何比较两个数组并查看它们是否相同?

转载 作者:太空宇宙 更新时间:2023-11-04 01:00:25 25 4
gpt4 key购买 nike

我正在尝试逐个元素地比较 2 个数组,看看它们是否相同。我可以让它在所有情况下工作,除了 len=0 时。我似乎不能说两个数组 a={} 和 b={} 是相同的。

这是我目前的情况

int identical( int a[], int b[], unsigned int len )
{
int same=0;
for( unsigned int i=0; i<len; i++ )
{
if(len==0)
{
same=1;
}

if (a[i]==b[i])
{
same=1;
}

else{
same=0;}
}
return same;
}

最佳答案

其实很简单

int identical(int *a, int *b, unsigned int len) {
for (unsigned int i = 0 ; i < len ; ++i) {
if (a[i] != b[i])
return 0;
}
return 1;
}

如您所见,您不需要遍历所有值,一旦您发现一个值与另一个数组中的对应值不相等,您将立即返回 0,否则始终返回1 包括 len == 0 时,因为在这种情况下将有 0 次迭代,代码将直接跳转到 return 1 语句。

关于c - 如何比较两个数组并查看它们是否相同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42047808/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com