例题:实现两个变量的值互换,用“引用”作形参。
#include<iostream>usingnamespacestd;intmain(){voidswap(int&,int&);inti=3,j=5;swap(i,j...
#include<iostream>
using namespace std;
int main()
{
void swap(int &,int &);
int i=3,j=5;
swap(i,j);
cout<<"i="<<i<<" "<<"j="<<j<<endl;
return 0;
}
void swap(int &a, int &b)
{
int temp;
temp=a;
a=b;
b=temp;
}
为什么我互换不了,是不是我的编译系统的问题,还是其它原因???帮帮忙
c 展开
using namespace std;
int main()
{
void swap(int &,int &);
int i=3,j=5;
swap(i,j);
cout<<"i="<<i<<" "<<"j="<<j<<endl;
return 0;
}
void swap(int &a, int &b)
{
int temp;
temp=a;
a=b;
b=temp;
}
为什么我互换不了,是不是我的编译系统的问题,还是其它原因???帮帮忙
c 展开
展开全部
对数据进行交换操作时,采用的是按值传递,你在用引用,其实就已经冲突了,进行交换的时候,就已经传递的不是值了,你用指针试试。
追问
我知道,但是课程要求用引用作形参,这个是例题来的,不是习题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
#include<iostream>
using namespace std;
int main()
{
void swap(int *a,int *b);
int i=3,j=5;
swap(&i,&j);
cout<<"i="<<i<<" "<<"j="<<j<<endl;
return 0;
}
void swap(int *a, int *b)
{
int temp;
temp=a;
a=b;
b=temp;
}
用指针互换
using namespace std;
int main()
{
void swap(int *a,int *b);
int i=3,j=5;
swap(&i,&j);
cout<<"i="<<i<<" "<<"j="<<j<<endl;
return 0;
}
void swap(int *a, int *b)
{
int temp;
temp=a;
a=b;
b=temp;
}
用指针互换
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void swap(int &,int &);
这是函数声明吗?为什么不写到外面
这是函数声明吗?为什么不写到外面
更多追问追答
追问
是啊
追答
void swap(int &,int &);在内部声明,他的作用域只是在main函数内部,而你的函数定义是在外部,你可以自己下断点调试下,根本就没有执行swap函数
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
代码没问题,把你编译过程 和运行结果 截屏 发上来再分析吧
更多追问追答
追问
你看一看
追答
我用你的代码在 TC++3.0 和 VS2005 下运行都没问题,很奇怪
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询