問題以下是我的代碼和的qsort產生奇怪的結果:的qsort並與它
#include <stdio.h>
#include <stdlib.h>
char values[] = { 0x02,0x04,0x0b,0x16,0x24,0x30,0x48,0x6c};
int compare (const void * a, const void * b)
{
return (*(int*)a - *(int*)b);
}
int main()
{
int i;
qsort (values, 8, sizeof(char), compare);
for (i = 0; i < 8; i++)
{
printf ("%0x ",values[ i ]);
}
return 0;
}
的這個輸出是程序是:
2 6C 48 30 24 4 b 16分配
雖然它應該和輸入一樣。有人可以解釋爲什麼它是如此以及我如何糾正它?
我不能相信這一點。 **完全獨立,可編輯的例子**!先生,您值得獲得*獎章*! +1,還有更多,如果我可以。 – DevSolar 2013-04-11 06:13:26
好點,@DevSolar,我們應該回報這樣的問題。 – paxdiablo 2013-04-11 06:19:42