已知函数f(  )、g(  )的定义如下所示,执行表达式“x=f(5)”的运算时

免费题库2022-08-02  36

问题 已知函数f(  )、g(  )的定义如下所示,执行表达式“x=f(5)”的运算时,若函数调用g(a)是引用调用(call by reference)方式,则执行”x=f(5)”后x的值为(  ) ;若函数调用g(a)是值调用(call by value)方式,则执行”x=f(5)”后x的值为 (  ) 。问题1选项A.20B.25C.60D.75问题2选项A.20B.25C.60D.75

选项

答案 DA

解析 传值调用:在按值调用时,过程的形式参数取得的是实际参数的值。在这种情况下,形式参数实际上是过程中的局部量,其值的改变不会导致调用点所传送的实际参数的值发生改变,也就是数据的传送是单向的
引用调用:在按引用调用时,过程的形式参数取得的是实际参数所在的单元地址。在过程中,对该形式参数的引用相当于对实际参数所在的存储单元的地址引用。任何改变形式参数值的操作会反映在该存储单元中,也就是反映在实际参数中,因此数据的传送是双向的
本题的第一问:采用的是引用调用方式执行,x=5,g(a)中y=y*y-1=15,即a这时的值被修改为15,最好a*x=5*15=75
本题的第二问:采用的是传值调用方式执行,x=5,g(a)中y=y*y-1=15,即a这时的值仍然为4,最好a*x=5*4=20
转载请注明原文地址:https://tihaiku.com/congyezige/2417899.html

最新回复(0)