問7 メインプログラムを実行した後、メインプログラムの変数X,Yの値は幾つになるか。ここで、仮引数Xは値呼び出し(call by value)、仮引数Yは参照呼び出し(call by reference)であるとする。
■メインプログラム
■手続きadd(X,Y)
|
X |
Y |
ア |
2 |
4 |
イ |
2 |
6 |
ウ |
4 |
2 |
エ |
4 |
6 |
正解 イ
解説
注目キーワード 「値呼出し」 「参照呼出し」
「仮引数Xは値呼出し」と言う事は、変数Xは「add(X,Y);」を実行しても「2」のまま変化しません。
よって、選択肢ウエは間違いです。
「仮引数Yは参照呼出し」ですので、変数Yは「add(X,Y);」を実行すると値が変わってしまいます。
それでは「add(X,Y);」の内容を見て行きましょう。
手続 add(X,Y)の内容
X = X + Y; → X = 2 + 2; → X = 4
Y = X + Y; → Y = 4 + 2; → Y = 6
変数Yの値は最終的に「6」になるため、選択肢イが正解となります。
最終更新:2013年07月07日 21:51