Wie sortiere ich die Elemente von argv in C?

Ich versuche, die Elemente von argv alphabetisch zu sortieren.

Die folgende Codezeile gibt mir Probleme:

qsort(argv[optind], argc - optind, sizeof(argv[optind]), sort);

Speziell das letzte Argument macht mir Probleme, die Vergleichsfunktion, die unten angegeben ist:

int
sort(const void *a, const void * b)
{    
    return(strcmp( (char*)a, (char*)b ));
}

Im Moment wird es einwandfrei kompiliert, aber es kommt zu einem Segmentierungsfehler, wenn ich es ausführe.

Antworten auf die Frage(8)

Ihre Antwort auf die Frage