メインプログラムを実行した後、メインプログラムの変数X 、Y の値はいくつになるか。
ここで、仮引数X は値呼出し(call by value)、仮引数Y は参照呼出し(call by reference)であるとする。
メインプログラム
|
|
手続きadd (X , Y )
|
X | Y | |
ア | 2 | 4 |
イ | 2 | 6 |
ウ | 4 | 2 |
エ | 4 | 6 |
答え イ
【解説】
メインプログラムが手続きadd (X 、Y )を呼出したときの、X 、Y の値は、X =2、Y =2である。
手続きadd (X 、Y )の1行目の処理X =X +Y を行うと、X =2、Y =2なので、X =4 になり、
2行目の処理X =X +Y を行うと、X =4、Y =2なので、Y =6 になる。
3行目のreturnで手続きを抜けてメインプログラムに戻るが、X は値呼出しなので手続き内の値はメインプログラムに影響せず、X =2のままである。
また、Y は参照呼出しなので手続き内の値がメインプログラムにも引き継がれて、Y =6(イ)である。
【キーワード】
・変数の呼び出し