下列程序的执行结果为______。 #include<iostream.h> int f(int i) { return++i;} int g(int&i) {return++i;} void main( ) { int

admin2010-12-16  19

问题 下列程序的执行结果为______。
   #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=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/5LVp777K
0

最新回复(0)