c语言 数组比较

在C语言中,数组是比较基础的数据结构之一,用于存储相同类型的多个元素,比较两个数组是否相等,通常是指比较它们的元素是否一一对应相等,以下是如何在C语言中比较两个数组的方法:

c语言 数组比较
(图片来源网络,侵删)

1、遍历数组元素

我们需要遍历两个数组的所有元素,逐个进行比较,如果发现有不相等的元素,那么这两个数组就不相等,如果所有元素都相等,那么这两个数组就相等。

2、使用循环

我们可以使用for循环来遍历数组的元素,以下是一个示例代码:

#include <stdio.h>
#define SIZE 5
int main() {
    int arr1[SIZE] = {1, 2, 3, 4, 5};
    int arr2[SIZE] = {1, 2, 3, 4, 5};
    int i;
    for (i = 0; i < SIZE; i++) {
        if (arr1[i] != arr2[i]) {
            printf("数组不相等
");
            return 0;
        }
    }
    printf("数组相等
");
    return 0;
}

在这个示例中,我们定义了两个大小为5的整数数组arr1和arr2,并使用for循环遍历它们的元素,如果发现有不相等的元素,程序将输出“数组不相等”,否则输出“数组相等”。

3、使用指针

除了使用循环,我们还可以使用指针来遍历数组的元素,以下是一个使用指针的示例代码:

#include <stdio.h>
#define SIZE 5
int main() {
    int arr1[SIZE] = {1, 2, 3, 4, 5};
    int arr2[SIZE] = {1, 2, 3, 4, 5};
    int *p1 = arr1;
    int *p2 = arr2;
    int i;
    for (i = 0; i < SIZE; i++) {
        if (*p1 != *p2) {
            printf("数组不相等
");
            return 0;
        }
        p1++;
        p2++;
    }
    printf("数组相等
");
    return 0;
}

在这个示例中,我们使用指针p1和p2分别指向arr1和arr2的第一个元素,我们使用for循环遍历数组的元素,通过指针访问每个元素的值,如果发现有不相等的元素,程序将输出“数组不相等”,否则输出“数组相等”。

4、比较字符串数组(字符数组)

对于字符串数组(字符数组),我们可以逐个比较它们的字符,以下是一个比较字符串数组的示例代码:

#include <stdio.h>
#define SIZE 5
int main() {
    char arr1[SIZE] = "hello";
    char arr2[SIZE] = "hello";
    int i;
    for (i = 0; i < SIZE 1; i++) { // 注意最后一个元素是空字符'0',不需要比较它
        if (arr1[i] != arr2[i]) {
            printf("字符串不相等
");
            return 0;
        }
    }
    printf("字符串相等
");
    return 0;
}

在这个示例中,我们定义了两个大小为6的字符数组arr1和arr2(因为字符串末尾需要添加空字符’