小编pro*_*ctr的帖子

用C排序二维数组字符串

我需要在C中对字符串数组进行排序.以下是我使用2D数组的方法:

我首先声明大小为115的数组,该数组的每个元素的容量为10个字符: char stock[115][10];

然后,只要用户输入我需要放入此数组的单词,我就会将其存储为:

strcpy(stock[r],msg);
r++;
Run Code Online (Sandbox Code Playgroud)

其中msg是用于存储用户输入的临时变量,r是最初分配给0的整数.

现在的问题是我需要打印Stock数组.我需要输出按字母顺序排列.我尝试使用qsort但无法使其工作,可能由于缺乏对qsort的理解,我没有完全正确地实现它.

请建议一种方法来对STOCK数组进行排序,以便我可以打印预期的输出.

另请注意,Stock Array的常规打印工作正常,即,如果我尝试按照存储的顺序打印数组,它可以正常工作.这是我需要帮助的分类.

谢谢 :)

Edit01:我在这里尝试使用的QSORT方法是:

//Call Qsort Method
qsort(stock, r, sizeof(stock[0]), comp);



//Function to Compare two Strings - Used in the QSORT Method
int comp(const void *s1, const void *s2)
{
    return (strcmp(*(char **)s1, *(char **)s2));
}
Run Code Online (Sandbox Code Playgroud)

c arrays sorting multidimensional-array

3
推荐指数
1
解决办法
3859
查看次数

标签 统计

arrays ×1

c ×1

multidimensional-array ×1

sorting ×1