钱能教材中的指针问题
#include<iostream.h>
#include<stdlib.h>
#include<string.h>
int compare(const void * a,constvoid * b);
void main()
{
qsort((void *)list,5,sizeof(list[0]),compare);
for(int i=0;i<5;i++)
cout<<list[i]<<endl;
}
int compare(const void * a,constvoid * b)
{
return strcmp(*(char **)a,*(char**)b);
}
qsort的函数原型如下:
void qsort(void *,size_t nelem,size_t width,
int(*fcmp)(const void *,const void *))
strcmp的函数原型是
int strcmp(const char* str1,const char * str2);
2字符串若相等则返回0
我无法理解的是
return strcmp(*(char **)a,*(char**)b);
请各位帮帮忙