答案:qsort的函数原型是void QSORT (void * base,size _ t num,size _ t width,int(_ _ cdecl * compare)(const void *,const void *);按基数的索引组排序。qsort函数包含在c标准库stdlib.h中.[1]base-指向要排序的数组的第一个元素的指针。nitems-base指向的数组中元素的个数。Size -数组中每个元素的大小,以字节为单位。回调是由函数指针调用的函数。如果你把一个函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调用它所指向的函数时,就叫做回调函数。[2]比较器参数指向比较两个元素的函数。
答案:So QSORT (arr,sizeof (arr)/sizeof (arr [0]),sizeof (arr [0]),compare);在对qsort函数的调用中,第二个参数是要排列的元素个数(5),第三个参数是要排列的元素大小(16)。我们将arr传递给qsort函数,该函数将arr理解为指向数组第一个元素的指针。arr的第一个元素是arr [0] [0],所以arg1和arg2指的是指向' a [i] [0]'的指针。我们知道,a [i] [0]是一个字符,它是char,所以arg1和arg2
回答:我们把arr传入qsort函数,qsort函数把arr理解为指向数组第一个元素的指针。arr的第一个元素是arr [0] [0],所以arg1和arg2指的是指向' a [i] [0]'的指针。我们知道,a [i] [0]。我们把void*转换成char*,赋给A和B,调用strcmp函数比较A和B。
答案:C库函数void qsort (void * base,size _ t nitems,size _ t size,int (* compar) (constvoid *,constvoid *))对数组进行排序。下面是qsort()函数的声明。Base -指向要排序的数组的第一个元素的指针。