C++定义一个函数,有2个参数,实现对实参值的交换,用指针和引用2种方式实现 15
3个回答
展开全部
#include<iostream>
using namespace std;
void swap1(int *a,int *b)
{
int t=*a;
*a=*b;
*b=t;
}
void swap2(int &a,int &b)
{
int t=a;
a=b;
b=t;
}
int main()
{
int a,b;
cin>>a>>b;
swap1(&a,&b);
cout<<"指针交换后"<<endl;
cout<<a<<b<敬贺族<endl;
swap2(a,b);
cout<<"引用交换后"<<endl;
cout<亮弊<a<拍差<b<<endl;
return 0;
}
VC6.0 通过。望采纳
using namespace std;
void swap1(int *a,int *b)
{
int t=*a;
*a=*b;
*b=t;
}
void swap2(int &a,int &b)
{
int t=a;
a=b;
b=t;
}
int main()
{
int a,b;
cin>>a>>b;
swap1(&a,&b);
cout<<"指针交换后"<<endl;
cout<<a<<b<敬贺族<endl;
swap2(a,b);
cout<<"引用交换后"<<endl;
cout<亮弊<a<拍差<b<<endl;
return 0;
}
VC6.0 通过。望采纳
追问
VS2005上编译是通过了但是调试后为什么什么都没有
追答
你把断点放函数里调试。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
void swap1(int *a,int * b)//指针搭迅散
{
int tmp;
tmp=*a;
*a=*b;
*b=tmp;
}
void swap2(int &a,int &b)//引用
{
int tmp;
tmp=a;
a=b;
b=tmp;
}
int main()
{
int a,b;
a=3;
b=4;
swap1(&a,&b);
cout<<a<<知氏b<昌迹<endl;
swap2(a,b);
cout<<a<<b<<endl;
return 0;
}
{
int tmp;
tmp=*a;
*a=*b;
*b=tmp;
}
void swap2(int &a,int &b)//引用
{
int tmp;
tmp=a;
a=b;
b=tmp;
}
int main()
{
int a,b;
a=3;
b=4;
swap1(&a,&b);
cout<<a<<知氏b<昌迹<endl;
swap2(a,b);
cout<<a<<b<<endl;
return 0;
}
更多追问追答
追问
刚刚试了一下说是swap1和swap2为非法函数定义
追答
你用什么测试的?我这是编译运行过的
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
楼下二位蔽银都答得很对,但一定大含现宏仿宴在都很无语。。
楼主要努力了,基础知识都没有,只会导致问题越问越多的。。
楼主要努力了,基础知识都没有,只会导致问题越问越多的。。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询