是书上错了吗?好奇怪的写法...
int f(const void *p,const void *q)
{
return strcmp((char *)p,(char *)q);
}
我觉得应该是这样这写的吧...
但是书上是
int f(const void *p,const void *q)
{
return strcmp(*(char **)p,*(char **)q);
}
我这样运行还会出错,书上说是先用char**,然后用*来移走间接寻址的一层...搞不懂那为什么还会错呢?
[解决办法]
额 怎么写在于你传递的参数类型,如果说你传递的是char*那么就按照你的写法,如果传递的是char**那么就得按照书上的写法
[解决办法]