>>428
ああ、こういうコードだったのね。元のコードは 503 が返ってくるからもやもやしてた。
これってこんな問題?

・41, 42 行で再帰呼び出しでソートしてるのに 49, 52 行でコピーしてるのはソート前の配列の値
・57 行で比較してる配列のインデクスが、58, 60 行でインクリメントした結果、有効なデータより後の要素を示すようになる
 ※最初の呼び出しの m 関数の場合、x と y にはそれぞれ a 配列の 0-4, 5-8 番目の要素が入っているけど、
  仮に 0-4 番目にすべて 5-8 番目の要素の値よりも小さな値が入っていれば 6 回目の比較で
  C では初期化されていない、C# の場合は 0 が入っている要素と比較してしまうため正しい結果が出ない

自分は関係ないけどちょっとすっきりした。