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

admin2013-05-30  29

问题 下列程序的执行结果为【 】。
#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。
转载请注明原文地址:https://kaotiyun.com/show/CQNp777K
0

最新回复(0)