Помогите разобраться. Пытаюсь воспользоваться функцией qsort. Наваял код, компилиться, работает даже, но при компиляции раздражает сильно варнинг про неправильный тип функции сравнения:ash-2.05b# gcc 1.c
1.c: In function `main':
1.c:16: warning: passing arg 4 of `qsort' from incompatible pointer typeПробовал преобразовывать типы - не получается. Вроде глупость, а неприятно, подскажите пожалуйста, как поправить.
#include <stdlib.h>
int compare (char *arg1, char *arg2)
{
return(strcmp(arg1, arg2));
}
int main ()
{int z;
char lists[3][10]={"zxzv","abcd","bcde"};qsort(lists, 3,10,compare);
for(z=0;z<3;z++)
{
printf("%d %s\n",z,lists[z]);
}}
Нда...Из man qsort:
void qsort(void *base, size_t nmemb, size_t size,
int(*compar)(const void *, const void *));Значит надо
> int compare (char *arg1, char *arg2)
> {
> return(strcmp(arg1, arg2));
> }заменить на
int compare (const void *arg1, const void *arg2)
{
return(strcmp((char *) arg1,(char *) arg2));
}