- C言語なら俺に聞け(入門編)Part 129 [転載禁止]©2ch.net
436 :デフォルトの名無しさん[sage]:2015/06/28(日) 20:33:48.76 ID:6vwCSsHC - >>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 が入っている要素と比較してしまうため正しい結果が出ない 自分は関係ないけどちょっとすっきりした。
|