我需要在 C 中对字符串数组进行排序。这是我使用 2D 数组的方式:
首先,声明一个大小为 115 的数组,数组的每个元素的容量为 10 个字符:
char stock[115][10];
然后,一旦用户输入了我需要放入该数组的单词,我将其存储为:
strcpy(stock[r],msg);
r++;
其中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));
}