问题 填空题

下列程序的执行结果为 【11】 。#inciude<iostream, h>int f(int i) { return + +i; }int g(int &i){return ++i; }void main(){ int a, b; a=b=0; a+ =f(g(A) ); b+=f(f(B) ); cout<<%= "<<a<<", b="<<(b<<end1;}

答案

参考答案:a=3,b=2

解析: 本题考查函数间引用传递的知识点。g(a)执行之后,返回值为1,a也变为1,这就是引用传递的特点。然后执行f(1),返回值为2,此时a=2+1,故a此时为3。由于f(b)不具有引用传递的特征,因此,执行后b=0+2,结果为2。

补全对话,情景问答
填空题