問題
メインプログラムを実行した後,メインプログラムの変数X,Yの値は幾つになるか。ここで,仮引数Xは値呼出し(call by value),仮引数Yは参照呼出し(call by reference)であるとする。
メインプログラム
X=2;
Y=3;
add(X,Y);
手続add(X,Y)
X=X+Y;
Y=X+Y;
return;

選択肢
- 1X:2, Y:3
- 2X:2, Y:8
- 3X:4, Y:3
- 4X:4, Y:8
正解
2. X:2, Y:8
詳しい解説を見る解説を閉じる
解説
仮引数Xは値呼出しなので手続内で変更してもメインのXには影響せず,Xは2のまま。仮引数Yは参照呼出しなので手続内の変更がメインに反映される。手続内ではX=2+3=5,Y=5+3=8となり,メインのXは2,Yは8になる。(出典: 平成28年度 春期 応用情報技術者試験 午前 問20)
一問一答
全400問を繰り返し学習