シカクマナボ.ITパスポート

ITパスポート 平成22年春期 問53

出典:IPA「ITパスポート試験」平成22年春期 問53

変数AとBに格納されているデータを入れ替えたい。データを一時的に格納するための変数をTMPとすると,データが正しく入れ替わる手順はどれか。ここで "x←y"は,yのデータでxの内容を置き換えることを表す。

正解と解説を見る

正解:イ

最初にTMP←Aで元のAを退避し、A←BでAを元のBに置き換え、最後にB←TMPで退避した元のAを戻します。この順序なら、二つの値を失わずに交換できます。

最後をB←Aとすると、その時点のAには元のBが入っているため、両方が同じ値になります。また、TMPに元のBを保存してからA←Bとしても元のAが失われるので、退避する対象と上書きの順番が重要です。

条件を選んで演習する