【发布时间】:2015-12-09 14:00:00
【问题描述】:
我已经定义了一个结构数组
typedef struct sorting {
int number
} SRT;
SRT *mystr = NULL;
我后来动态分配的。
我想按number int 对其进行排序;
我必须编写什么样的函数才能让 qsort 执行它?我写过:
qsort(mystr,array_index,sizeof(mystr),magic);
int magic(const void *a, const void *b) {
int one=((const struct mystr*)a)->number;
int two(( const struct myst*)b)->number;
return ( one-two);
}
但它没有工作。我该怎么做? 它抛出了关于不命名类型的错误。
【问题讨论】:
-
如果出现“不起作用”,请准确发布 what 不起作用。在这种情况下,发布编译器错误会更容易回答问题。
-
还有,应该是
one - two。 -
@Lundin:这种草率的比较在微妙的方面存在缺陷。看我的回答。