c 语言比较两个数组是否相等的函数
时间: 2024-09-28 19:07:17 浏览: 45
.NET如何快速比较两个byte数组是否相等.doc
在C语言中,直接比较两个数组是否完全相等并不像Python那样简单,因为数组是一个连续的内存区域,而不是单独的对象。通常需要通过遍历数组元素逐个比较的方式来判断它们是否相等。这里可以编写一个简单的函数,假设数组都是同类型的,并且长度已知:
```c
#include <stdbool.h>
bool arrays_equal(int arr1[], int arr2[], size_t len) {
// 检查数组长度是否一致
if (len != sizeof(arr1)/sizeof(arr1[0]) || len != sizeof(arr2)/sizeof(arr2[0])) {
return false;
}
// 遍历数组并逐个比较元素
for (size_t i = 0; i < len; i++) {
if (arr1[i] != arr2[i]) { // 如果找到不相等的元素,则返回false
return false;
}
}
// 所有元素都相等,返回true
return true;
}
```
这个函数接受两个整型数组`arr1`和`arr2`以及它们的长度`len`作为参数,如果所有对应位置的元素都相等则返回`true`,否则返回`false`。
阅读全文