以下函数调用分别采用引用调用方式和值调用方式,则该表达式求值结束后y的值分别为()

执行表达式“y = f(2)”的运算时,以下函数调用分别采用引用调用(call by reference)方式和值调用(call by value)方式,则该表达式求值结束后 y的值分别为:

15067da54dff8520d439b55e9718f46e.png

请先 登录 后评论

1 个回答

亚里士德
擅长:互联网

知识点:程序设计语言-程序设计语言的基本成分

函数-函数调用。书上位于212章节,大概位于page66。

---

这个题,学过java的同学一定是没有问题的。

书上描述引用传递是C++引用的概念。

最简单的区分,以及这种题的考点都是:值传递后,在新方法中不会修改原来的被传递的值;引用传递,传递值的引用的地址,新方法中会根据地址来修改本来的值,所以原来方法中的值也会被一同修改掉。

所以,引用传递时:la = 3,g3内,la = x = 3x3+1 = 10。回到f方法,返回la*x,也就是10*2=20。

值传递时:不管后面的g方法一顿操作,f方法里面的值都是自己方法内计算的值,所以返回的la*x就是3*2=6。

请先 登录 后评论
  • 1 关注
  • 0 收藏,965 浏览
  • 亚里士德 提出于 2021-08-05 04:28

相似问题