Hallo, meine Aufgabe ist es einen String zu sortieren: zuerst Zahlen, dann Großbuchstaben, dann Kleinbuchstaben und dann Sonderzeichen. Das ganze muss mit qsort passieren. Mein Code sieht bisher so aus:
int vergleich(const void *a, const void *b);
int main(int argc, char *argv[]) {
if(!(argc==2)) {
printf("Anzahl der Parameter unpassend - Programm wird beendet!\n");
return 0;
}
qsort(argv[1], strlen(argv[1]), sizeof(char), vergleich);
printf("%s\n", argv[1]);
return 0;
}
int vergleich(const void *a, const void *b) {
char *x = (char *)a;
char *y = (char *)b;
return *x-*y;
}
Leider sind die Sonderzeichen hier am Anfang einsortiert worden. Kann mir jemand sagen, wie ich die Sonderzeichen am Ende einsortieren kann?