>>707
aとbが指す先の領域のサイズを明確にして。
bitsはこんな感じか?
#define bits(value, byte, bit) ((value >> byte) & ((1 << bit) - 1))
つーか、そもそもソートできてなくない?
aとbをポインタで宣言して、それぞれ別々の配列を指すようにして、アドレス値を入れ替えちゃ駄目?
- for(i = 1; i <= n; i++)
- a[i] = b[i];
+ do { int *t = a; b = a; a = t; } while (0)