2 Pluspunkte 0 Minuspunkte
Wie kann ich 2 Arrays in C miteinander vergleichen?
von  

2 Antworten

0 Pluspunkte 0 Minuspunkte

Du kannst die beiden Arrays in einer Schleife durchlaufen und jedes Paar miteinander vergleichen.

int main() {
    // Beispiel-Arrays
    int array1[] = {1, 2, 3, 4, 5};
    int array2[] = {1, 2, 3, 4, 5};

    // Länge der Arrays
    int length = sizeof(array1) / sizeof(array1[0]);

    // Flag, um den Vergleichsstatus zu verfolgen
    int arraysAreEqual = 1;

    // Vergleich der Elemente
    for (int i = 0; i < length; i++) {
        if (array1[i] != array2[i]) {
            arraysAreEqual = 0;
            break; // Brechen Sie die Schleife ab, wenn ein Unterschied gefunden wurde
        }
    }

    // Ausgabe des Ergebnisses
    if (arraysAreEqual) {
        printf("Die Arrays sind gleich.\n");
    } else {
        printf("Die Arrays sind unterschiedlich.\n");
    }

    return 0;
}

von (732 Punkte)  
0 Pluspunkte 0 Minuspunkte

Du kannst die Arrays mit der Funktion memcmp direkt im Speicher vergleichen.

#include <stdio.h>
#include <string.h>

int main() {
    int arr1[] = {1, 2, 3, 4, 5};
    int arr2[] = {1, 2, 3, 4, 5};
    int size = sizeof(arr1);

    if (memcmp(arr1, arr2, size) == 0) {
        printf("Arrays are equal.\n");
    } else {
        printf("Arrays are not equal.\n");
    }

    return 0;
}
von (776 Punkte)