問題プレビューID: 31d7aa16

問 49

サブルーチンへの引数の渡し方のうち,変数を引数として渡しても,サブルーチンの実行後に変数の値が変更されないことが保証されているものはどれか。

解説

サブルーチンへの引数の渡し方(呼出し方式)に関する問題です。

  • ア: 値呼出し(call by value)は,実引数の値のコピーを渡すため,サブルーチン内で仮引数を変更しても呼出し側の変数の値は変わりません。したがって,変数の値が変更されないことが保証されます。
  • イ: 結果呼出し(call by result)は,サブルーチンの実行結果を呼出し側の変数に書き戻すため,値が変更されます。
  • ウ: 参照呼出し(call by reference)は,実引数のアドレスを渡すため,サブルーチン内での変更が呼出し側の変数に反映されます。
  • エ: 名前呼出し(call by name)は,引数を名前で渡し,使用時に評価するため,呼出し側の変数の値が変更され得ます。

したがって、正解は ア です。