#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#define ROWS 3
#define COLS 20
int compare_function(const void *a, const void *b) {
return strcmp(a, b);
}
int min_length(char arr[][COLS]) {
int min = strlen(arr[0]);
for (int i = 1; i < ROWS; i++) {
int size = strlen(arr[i]);
if (size < min) min = size;
}
return min;
}
int main() {
char arr[ROWS][COLS] = {"cartography", "carburettor", "carbonating"};
qsort(arr, (size_t)ROWS, COLS, compare_function);
int m_length = min_length(arr);
int i = 0;
while (i < m_length && arr[0][i] == arr[ROWS - 1][i])
i++;
printf("Longest common prefix: %.*s\n", i, arr[0]);
return 0;
}
/*
run:
Longest common prefix: car
*/