函数foo()、hoo0定义如下,调用函数hoo()时,第-个参数采用传值(ca

考试题库2022-08-02  26

问题 函数foo()、hoo0定义如下,调用函数hoo()时,第-个参数采用传值(call by value)方式,第二个参数采用传引用(call by reference)方式。设有函数调(函数foo(5),那么"print(x)”执行后输出的值为(  )。A.24B.25C.30D.36

选项 A.24
B.25
C.30
D.36

答案 A

解析 根据题干描述的调用过程,hoo()第一个参数是传值调用,第二个参数是引用调用,因此,在hoo()中对a的修改最终会影响到原foo()函数中传递的参数x,也就是最终x打印的值。
根据hoo()函数过程,x初始传参为原args=5,此时x=x-1=4(注意这里的x是局部变量,只在hoo()使用),a初始传参为原x=6,此时a=a*x=6*4=24,最终全局变量x值为24。(注意这里的原x是全局变量,在hoo()参数中可以理解为别名为a,现x是局部变量,也就是之前求取的4)。
转载请注明原文地址:https://tihaiku.com/congyezige/2409342.html

最新回复(0)