>>310
>k[i] と k[n] は i == n の時に同じ
済みません、言っていることが良くわかりません(´・ω・`)
if (i == n) k[i] = k[n];???

>これが何でこうなるかは分かってる?
forの中身が初期化式;ループ式?;カウンタであり
初期化式がi = 0なので、iには0が代入されます
つまりk[i]のiに0が入るということです

そしてk[0]になり、k[0] = 0;となります

そしてiは0なのでi < 5は真(1)でありループします
i++がカウンタなのでiにはは1が代入され、k[1]になり
k[0] = 0;となる

を繰り返し
iが5に成る時
i < 5は偽(0)となるので、forを抜けます

と理解しています