在函数调用中,引用调用方式将( )。下面所定义的函数foo为值调用方式, 函数g

考试题库2022-08-02  62

问题 在函数调用中,引用调用方式将( )。下面所定义的函数foo为值调用方式, 函数g()的第一个参数采用值调用、第二个参数采用引用调用方式传递数据。若有表达式 y=foo(2),则foo调用执行之后,y被赋值为(请作答此空)。A.5B.6C.7D.8

选项 A.5
B.6
C.7
D.8

答案 C

解析 传值调用:形参取的是实参的值,形参的改变不会导致调用点所传的实参的值发生改变。引用(传址)调用:形参取的是实参的地址,即相当于实参存储单元的地址引用,因此其值的改变同时就改变了实参的值。在本题中,首先在foo()函数中,传入给x的值为2,然后b的值为1,接下来调用g()函数,x的值为2,所以g()函数b的值为2(值传递),b的值为1,所以g()函数x的值为1(地址传递,故x的值变化,会引起foo()函数中b值的变化)。经过g()函数的一系列语句,b=3,x=5。则foo()中b值变成5,最终foo()函数的返回值为5+2=7。
转载请注明原文地址:https://tihaiku.com/congyezige/2416821.html

最新回复(0)