注册 登录
编程论坛 C++教室

[求助]函数调用问题

xbw0114 发布于 2007-10-08 08:53, 502 次点击

#include <iostream.h>
void f(int &a,int b)
{
a-=b;
cin>>b;
b++;
}
void main ()
{
int x=1; int y=2;
f(x,y);
cout<<x<<'\t'<<y<<'\n';

f(x,y);
cout<<x<<'\t'<<y<<'\n';
}
假设输入的值是10,为什么,x输出值在变化,y两次输出的值都是2呀?

[此贴子已经被作者于2007-10-8 8:56:05编辑过]

8 回复
#2
远去的列车2007-10-08 09:17
用引用作形参,是实参的一个别名,函数改变了引用形参即改变了实参

而形参b只是实参y的一个拷贝,改变b并不影响y的变动
#3
xbw01142007-10-08 09:25
能再说详细点吗?
#4
远去的列车2007-10-08 10:03
建议你认真看书,仔细领悟,别什么问题不思考就问人啊,没好处的
#5
succubus2007-10-08 12:39
授人以鱼不如授人以渔
所以我的答案是
lz要学会自己调试程序啊
打个断点,自己单步调试看每步运行的结果就成了嘛

#6
海子星竹2007-10-08 21:03
[QUOTE][/QUOTE]
#7
海子星竹2007-10-08 21:03

[QUOTE][/QUOTE]
用引用作形参,是实参的一个别名,函数改变了引用形参即改变了实参

而形参b只是实参y的一个拷贝,改变b并不影响y的变动

#8
jack_sqh2007-10-10 07:36
-1,2

-3,2
#9
wuhaofei2007-10-10 12:31
以下是引用海子星竹在2007-10-8 21:03:50的发言:


用引用作形参,是实参的一个别名,函数改变了引用形参即改变了实参

而形参b只是实参y的一个拷贝,改变b并不影响y的变动

正解

1