有如下程序: #include<iostream> using namespace std; int fun1(int x) {return++x;} int fun2(int &x) {return++x;} int mai

admin2013-02-27  31

问题 有如下程序:
   #include<iostream>
   using namespace std;
   int fun1(int x) {return++x;}
   int fun2(int &x) {return++x;}
   int main(){
             int x=1,y=2;
             y=fun 1(fun2(x));
             cout<<X<<’,’<<y;
             return 0:
   }
   程序的输出结果是______。

选项

答案2,3

解析 此题考查的是函数传值。int fun1(int x) {retum++x;}函数中参数为传值,所以对于函数的操作不会改变实参的值,而函数int fun2(int &x){retum++x;}中的参数为引用,对于形参的操作会改变实参的值。在主函数中调用fun2(x)后,变量x的值修改为2,所以在调用fun1函数时其形参值为2,即运算后y的值被赋值为3,所以输出为2,3。
转载请注明原文地址:https://kaotiyun.com/show/CvVp777K
0

最新回复(0)