问题
填空题
有如下程序: #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: } 程序的输出结果是______。
答案
参考答案:B,C
解析: 此题考查的是函数传值。int fun1(int x) {retum++x;}函数中参数为传值,所以对于函数的操作不会改变实参的值,而函数int fun2(int &x){retum++x;}中的参数为引用,对于形参的操作会改变实参的值。在主函数中调用fun2(x)后,变量x的值修改为2,所以在调用fun1函数时其形参值为2,即运算后y的值被赋值为3,所以输出为2,3。