0

我有一个包含四个名称的 char 数组,并打算使用 qsort 对它们进行排序,如下所示:

char players[4][20];
char *strings[4];

/*input of the players into players[4] via stdin not shown*/

for(int i = 0; i < 4; i++) {
    strings[i] = players[i];
    printf("strings unsorted: %s \n", strings[i]);
}

size_t strings_len = sizeof(strings) / sizeof(char *);
qsort(strings, strings_len, sizeof(char *),cstring_cmp);

Qsort 现在返回一个带有排序名称的指针。如何将名称复制到新的 char 数组 namesSorted[4][20] 中?

干杯,朱迪思

4

1 回答 1

1
char namesSorted[4][20];
...
for(int i = 0; i < 4; i++) {
    strcpy(namesSorted[i], strings[i]);
}

[U] 幸运的是,我在使用strcpy.

我怀疑您的比较功能(未包含在问题中)有缺陷。

于 2013-10-24T09:20:50.290 回答