問題
選択肢
- 1i
- 2i + 1
- 35 - i
- 46 - i
正解
4. 6 - i
詳しい解説を見る解説を閉じる
解説
逆順コピーでは、data[1]→result[5]、data[2]→result[4]、data[3]→result[3]、data[4]→result[2]、data[5]→result[1] と対応させる必要がある。コピー元の添字iとコピー先の添字の和が常に 1+5=6、2+4=6 のように6で一定であることに着目すると、コピー先は 6 - i と表せる。i=1のとき6-1=5、i=5のとき6-5=1となって正しく逆順になるため、「6 - i」が正解である。ウの 5 - i ではi=1のとき4となって1つずれ、i=5のとき0で添字の範囲外となる。iでは単なる同順コピー、「i + 1」とするものでは1つ後ろにずれi=5で範囲外アクセスが起こる。要素数nの配列の逆順は「(n+1) - i」という一般形で覚えておくと、端の値(i=1とi=n)を代入して検算する習慣とあわせて確実に解ける。
一問一答
科目A 180問+科目B 60問