亲测VS2015自带的C语言库有这个bug,浪费了好多时间QAQ,写出来希望大家有遇到同样问题的不要浪费时间
放上供测试的代码:
#include <stdio.h>
#include <stdlib.h>
int comparer(const void* a, const void* b)
{
return *(int*)a < *(int*)b;
}
int main()
{
int b[26] = {2,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
qsort(b, 26, sizeof(b[0]), comparer);//改成8就是正确的
for (int i = 0; i < 26; i++)
printf("%d ", b[i]);
return 0;
}
这段代码在VS2015的运行结果出人意料,数组b还是原样,并没有被正确排序。而把qsort的第二个参数改成8以后却是对的。
因为没法看到源代码,具体原因不清楚QAQ