次のプログラムを実行したとき、表示される値はどれか。
a = 3
b = a
a = 7
表示する(b)
- ①3
- ②7
- ③10
- ④4
答えと解説を見る
正解は「3」。b = a を実行した時点の a の値 3 が、b にコピーされます。
なぜ
代入文は、右辺の値をその場で計算して、左辺の変数に入れる命令です。b = a の行では、a の中身の 3 が b に入ります。そのあと a に 7 を入れ直しても、b の中身は書き換わりません。変数どうしがつながるわけではないからです。
ひっかけ注意
・「7」…b が a と連動して変わると考えた誤り。b = a は、その時点の a の値 3 を b に入れるだけ。
・「10」…3 と 7 を足している。このプログラムに足し算の行は1つも無い。
・「4」…7 − 3 の差。引き算の処理も無く、b は 3 のまま。