C++定义一个函数,有2个参数,实现对实参值的交换,用指针和引用2种方式实现

 我来答
百度网友6fe74e2
推荐于2018-03-08 · TA获得超过6593个赞
知道大有可为答主
回答量:1973
采纳率:100%
帮助的人:268万
展开全部
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;
}
追问
可以讲解一下吗,谢谢
追答
void swap1(int *a,int * b)//指针 参数是两个指针变量
{
int tmp;
tmp=*a; //把a指向的值赋给tmp
*a=*b; //把b指向的值赋给a指向的值
*b=tmp; //把tmp的值赋给b指向的值
//这样就达到了变换a,b指向的值的目的
}
void swap2(int &a,int &b)//引用 参数是两个整型变量的引用
{
//引用就是他本身的值,所以直接交换两个的值就行了。
int tmp;
tmp=a;
a=b;
b=tmp;
}
饮冰轩者
2013-04-28
知道答主
回答量:9
采纳率:0%
帮助的人:1.3万
展开全部
#include<stdio.h>
main()
{
int a,b,c;
printf("enter two number");

scanf("%d%d",&a,&b);
c=a;

a=b;
b=c;
printf("交换后a=%d,b=%d",a,b);

}
这是引用,指针和这个差不多;
#include<stdio.h>
main()
{
int a,b,c,*pa,*pb,*pc;
pa=&a;pb=&b;pc=&c;
printf("enter two number");
scanf("%d%d",&a,&b);
pc=pa;
pa=pb;
pb=pc;
printf("pa=%d,pb=%d",*pa,*pb);

}
这是指针,求采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
顺当且明智灬小鲤5422
2013-04-28 · TA获得超过3488个赞
知道大有可为答主
回答量:1.1万
采纳率:0%
帮助的人:903万
展开全部
第二和第三的作用主要是为了解决等效

形状的参数中所涉及的问题,作为一个例子来说明一个简单的程序

无效MSwapa(INT A,INT B); / /这两个函数交换,b值

无效MSwapb(一和二);

(){

INT A = 2;

INT B = 3;

MSwapa(A,B);

法院<< <<“”<< B << endl;

MSwapb(A,B);

COUT < <<<“”<< B << endl;

返回0;}

无效MSwapa(INT A,INT B){

TMP =; /> = B;

B = TMP;

}

无效MSwapb(一,诠释及b){

TMP =;

= b;

B = TMP;

}

/ /结果是

虽然两个函数交换一个的B值

MSwapa(INT,INT B)参数没有被引用,所以MSwapa(INT,INT B)产生两个临时对象a和b,是您的main()函数定义一个,b的值赋给两个临时变量,MSwapa只是这两个临时的对象交换价值(INT A,INT B)

所以法院<<一个<<“”<< B << endl结果没有交换
BR /> MSapb(INT&,INT&B)与参考它直接给你在main()定义一个b值?交换这两个变量,所以法院<<了“”“< <B交换<< endl结果a,b值?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
sky28_sky28
2013-04-28 · TA获得超过404个赞
知道小有建树答主
回答量:299
采纳率:0%
帮助的人:242万
展开全部

代码如下:

void cmp(int &a, int &b)
{
int tmp = a;
a = b;
b = tmp;
}
void cmp(int *a, int *b)
{
int tmp = *a;
*a = *b;
*b = tmp;
}
追问
提示说是  “cmp”: 本地函数定义是非法的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式