#include #include #include #include int nomes_sort_cmp(char nome1[], char nome2[]) { return -strcoll(nome1, nome2); } void nomes_sort(char nomes[], int n, int t) { /* Funciona, mas o compilador pode dar um aviso (Warning). Para evitar isto, basta colocar (int(*)(const void*,const void*)) antes de nomes_sort_cmp, abaixo. */ qsort(nomes, n, t, nomes_sort_cmp); } int main() { int i; char nomes[10][50]={"João", "Jonas", "Maria", "Rogério", "Carlão", "Bruno", "Bob", "Jorge", "Carla", "Carlos"}; setlocale(LC_ALL, ""); nomes_sort((char*) nomes, 10, 50); for (i = 0; i < 10; ++i) printf("%s ", nomes[i]); printf("\n"); return 0; }