C语言如何写才能判断两个数组相等

 我来答
爱教育爱学习
高粉答主

2019-11-15 · 学而不思则罔,思而不学则殆
爱教育爱学习
采纳数:384 获赞数:112745

向TA提问 私信TA
展开全部

#include<stdio.h>

intmain()

{

inti=0;

intj=0;

intarr1[]={1,2,3,4,5};

intarr2[]={1,2,7,4,9};

for(i=0;i<sizeof(arr1)/sizeof(arr1[0]);i++)

{

for(j=0;j<sizeof(arr2)/sizeof(arr2[0]);j++)

{

if(arr1[i]==arr2[j])

{

printf("存在相同元素");

break;

}

}

break;

}

return0;

}

扩展资料

C++比较两个数组是否相等

constintSIZE=5;

intarrayA[SIZE]={5,10,15,20,25};

intarrayB[SIZE]={5,10,15,20,25};

boolarraysEqual=true;//标志变量

intcount=0;//循环控制变量

//确定元素是否包含相同的数据

while(arraysEqual&&count<SIZE)

{

if(arrayA[count]!=arrayB[count])

arraysEqual=false;

count++;

}

//显示合适的消息

if(arraysEqual)

cout<<"Thearraysareequal.\n";

else

cout<<"Thearraysarenotequal.\n";

风若远去何人留
2017-06-09 · 知道合伙人互联网行家
风若远去何人留
知道合伙人互联网行家
采纳数:20412 获赞数:450136
专业C/C++软件开发

向TA提问 私信TA
展开全部

并没有系统函数可以实现这个功能,需要自行编写函数:

一、算法分析:

1、两个数组相等,需要类型相同,长度相同,各个元素值及顺序相同。

2、根据数组相等的含义,类型无需判断,因为类型不同本身就没有可比性。长度及元素值需要编写代码判断。 

二、参考代码:

以整型数组为例,可以编写函数如下:

int array_cmp(int *a, int al, int *b, int bl)
{
    int i;
    if(al!=bl) return 0;//长度不等,返回0.
    for(i = 0; i < al; i ++)
        if(a[i]!=b[i]) return 0;//出现不相等元素,返回0.
    return 1;//完全相等,返回1。
}

三、优化代码:

在C语言中有内存比较函数memcmp, 可以利用这一函数简化步骤,提高效率。

参考代码如下:

int array_cmp(int *a, int al, int *b, int bl)
{
    int i;
    if(al!=bl) return 0;//长度不等,返回0.
    return memcmp(a,b,sizeof(*a)*al) == 0;//返回结果。
}

注意,使用memcmp需要引用头文件string.h。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
JangSeo
2014-10-27 · 超过21用户采纳过TA的回答
知道答主
回答量:61
采纳率:100%
帮助的人:29.3万
展开全部
先判断数组长度是不是相等,
然后比较每个相同索引号的元素是不是相等
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式