C++ 为什么不能实现a,b的调换的问题

[复制链接]
查看11 | 回复1 | 2010-4-17 22:42:23 | 显示全部楼层 |阅读模式
#includeusing namespace std;int main(){
void a1(int &x,int &y);
int a=9,b=8;
a1(a,b);
cout<<a<<' '<<b<<endl;
return 0;}void a1(int &x,int &y){
int t;
t=x;
x=y;
y=t;}
回复

使用道具 举报

千问 | 2010-4-17 22:42:23 | 显示全部楼层
你的程序是值传递,需要使用引用传递;因为值传递传进的参数是参数的副本,对原数据没有影响。引用传递修改的是原数据修改函数,参数前加上&改成引用传递void a1(int &x,int &y){
int t;
t=x;
x=y;
y=t;}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行