平成23年 秋期 応用情報技術者 午前 問22

メインプログラムを実行した結果はどれか。
ここで、staticは静的割当てを、autoは動的割当てを表す。

メインプログラム
auto int x , y ;
x = f (2) + f (2);
y = g (2) + g (2);
関数 f (u )
auto int u ;
auto int v = 1;
v = v + u ;
return v ;
関数 g (u )
auto int u ;
static int v = 1;
v = v + u ;
return v ;

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になる。


キーワード
・割当て

キーワードの解説

戻る 一覧へ 次へ