Ich bin auf der Suche nach einem Array von Zeichenfolgen mit der stdlib
Funktion qsort
.qsort zu lexigraphisch sortiere Zeichenfolgen in c
Ich habe das bevölkerungs Array: char *words[MAX_WORDS];
und eine Vergleichsfunktion:
int compare_words(const void *p, const void *q) {
printf("%s\n", (const char*)p); // For debugging
return strcmp((const char*)p, (const char*)q);
}
einen qsort
Anruf Mit: qsort(words, i, sizeof(char*), compare_words);
ich durch den Druck kann sagen, dass ich in die eingefügt haben compare_words
Funktion, die qsort nicht die richtigen Argumente an compare_words
übergeben. (Es druckt Müll). Irgendwelche Ideen, warum es nicht die richtigen Zeichenzeiger bekommt?
Sie brauchen also: 'printf ("% s \ n ", * (const Char **) p); return strcmp (* (const char **) p, * (const char **) q); '! – Aconcagua
Genau das, was ich brauchte. Vielen Dank –