函数main(  )、f(  )的定义如下所示。调用函数f(  )时,第一个参数

练习题库2022-08-02  42

问题 函数main(  )、f(  )的定义如下所示。调用函数f(  )时,第一个参数采用传值(call by value) 方式,第二个参数采用传引用(call by reference)方式,main(  )执行后输出的值为(  )。A.2B.3C.8D.10

选项 A.2
B.3
C.8
D.10

答案 C

解析 传值调用:形参取的是实参的值,形参的改变不会导致调用点所传的实参的值发生改变。
引用(传址)调用:形参取的是实参的地址,即相当于实参存储单元的地址引用,因此其值的改变同时就改变了实参的值。
在函数执行的过程中,f(5,x)?f(int x,int &a)可以得出第一个参数x的取值为5(第一个参数为传值调用);第二个参数a取得左边main()函数中x的地址(第二个参数为传址调用);当运行x=2*a-1后,f()函数中x的取值变为3(2*2-1);当运行a=x+5后,a对应地址的取值被修改为8,也就是将main()函数中的x值修改为8;当运行return后,f()函数结束。这时main()函数中的x取值为8;所以当main()函数答应x值时,应该输出为8。
转载请注明原文地址:https://tihaiku.com/congyezige/2418112.html

最新回复(0)