Trier lexicographiquement en c

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

#define MAX_STRING_LENGTH 100

void sortStringsLexicographically(char strings[][MAX_STRING_LENGTH], int n);

int main() {
    int n;

    printf("Enter the number of strings: ");
    scanf("%d", &n);

    char strings[n][MAX_STRING_LENGTH];

    // Input strings
    for (int i = 0; i < n; ++i) {
        printf("Enter string %d: ", i + 1);
        scanf("%s", strings[i]);
    }

    // Sort strings lexicographically
    sortStringsLexicographically(strings, n);

    // Display sorted strings
    printf("\nSorted Strings:\n");
    for (int i = 0; i < n; ++i) {
        printf("%s\n", strings[i]);
    }

    return 0;
}

void sortStringsLexicographically(char strings[][MAX_STRING_LENGTH], int n) {
    char temp[MAX_STRING_LENGTH];

    for (int i = 0; i < n - 1; ++i) {
        for (int j = i + 1; j < n; ++j) {
            if (strcmp(strings[i], strings[j]) > 0) {
                strcpy(temp, strings[i]);
                strcpy(strings[i], strings[j]);
                strcpy(strings[j], temp);
            }
        }
    }
}