【正确答案】
D
【答案解析】传值调用中,形参取的是实参的值,形参的改变不会导致调用点所传的实参的值发生改变;而引用(传址)调用中,形参取的是实参的地址,即相当于实参存储单元的地址引用,因此改变其值同时就改变了实参的值。
在本题中,首先是采用传值调用,这个时候将变量a的值5传递给形参r,即r的值为5,那么a的值经过a=r+1后变成了6,而r的值经过r=r*2后变成了10,并返回,即在函数t中,变量x的值被赋值为10,那么在函数t中最后输出的是10+6=16。
采用引用调用时,由于形参r指向的是实参a的存储空间,即r与a指向的是同一块存储单元,首先a的值为5,经过a=r+1后变成了6,再经过r=r*2后变成了12,并返回,即在函数t中,变量x的值被赋值为12,那么在函数t中最后输出的是12+12=24。