文字列のリストを並べ替えたい。関数のパラメータにqsort()
は、次のように定義されたc[i]のリストがあります。
//N is the number of words
int N;
scanf("%d",&N);
//each c[i] is a word
char **c;
c = malloc(N*sizeof(char*));
for(i = 0; i < N; i++)
{
char *temp[100];
scanf("%s", &temp);
c[i]=strdup(temp);
}
しかし、リストを並べ替えると、結果が間違っています。
正確にデバッグするために、これを追加しました
for(i = 0; i < N; i++){
j=compare (c[0],c[i]);
printf("%d",j);
printf("%s",c[i]);
}
私の入力は「4;a;b; c; d」で、「0b-1c-1d1a」を取得します
誰かがこれについて助けることができますか?