我需要对一个字符串数组进行排序,作为输入。请帮我指点这里。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int compare(const void *a, const void *b){
char* s1 = (char*)a, s2 = (char*)b;
int len1 = strlen(s1), len2 = strlen(s2);
int i=0;
for(i=0; i< len1 && i<len2; i++){
if(s1[i] > s2[i]) return 1;
if(s1[i] < s2[i]) return 0;
}
return 0;
}
int main() {
int i;
int len;
scanf("%d",&len);
char* a[len];
for(i=0; i<len; i++){
a[i] = (char*)malloc(13);
scanf("%s",a[i]);
}
qsort(&a, len, sizeof(char*), compare);
for(i=0; i<len; i++){
printf("%s\n",a[i]);
}
return 0;
}
问题仅在于比较功能。