A-A+

下列程序的执行结果为______。 include<iostream.h> int f(in

2022-08-06 05:32:29 问答库 阅读 176 次

问题详情

下列程序的执行结果为______。
include<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="<<a<<",b="<<b<<endl;
}请帮忙给出正确答案和分析,谢谢!

参考答案

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

考点:结果,程序