メインプログラムを実行した結果はどれか。
ここで、staticは静的割当てを、autoは動的割当てを表す。
メインプログラム
|
|
関数 f (u )
|
|
関数 g (u )
|
x | y | |
ア | 6 | 6 |
イ | 6 | 8 |
ウ | 8 | 6 |
エ | 8 | 8 |
答え イ
【解説】
x の計算式
f (2) + f (2)
を求めると、1回目のf (2)は3であり、2回目のf (2)も関数f (u )内の変数v が動的割当てなので3であり、x = 6になる。
次に、y の計算式
g (2) + g (2)
を求めると、1回目のg (2)は3であり、2回目のg (2)は関数g (u )内の変数v が静的割当てで、1回目の結果BになっているのでDになり、y = 8になる。
【キーワード】
・割当て