为了账号安全,请及时绑定邮箱和手机立即绑定

请问下面四个简单的交换函数的含义和区别是什么?

请问下面四个简单的交换函数的含义和区别是什么?

C C# C++
慕粉3936039 2017-01-05 23:25:37
void swap1(int n1, int n2){ int temp = n1; n1 = n2; n2 = temp;}void swap2(int& n1, int& n2){ int temp = n1; n1 = n2; n2  = temp;}void swap3(int* p1, int* p2){ int temp = *p1; *p1 = *p2; *p2 = temp; }   void swap4(int* &p1, int* &p2) {  int *temp = p1;  p1 = p2;  p2 = temp; }
查看完整描述

1 回答

已采纳
?
习惯受伤

TA贡献885条经验 获得超1144个赞

好久不弄c了,我就根据印象答一下,如有错误,及时指出,不要给初学者留下一个错误的思路。。 第一个:swap1(int n1, int n2),值交换,此函数不会影响两个元素的值,无法交换。 第二个:swap2(int& n1, int& n2),地址交换,此函数可以交换,调用是实参为地址,必须先取地址操作(引用)。 第三个:swap3(int* p1, int* p2),指针交换,此函数可以交换值,参数为指针。 第四个:swap4(int* &p1, int* &p2),地址指针交换,参数应该是指向指针的指针。可以交换。
查看完整回答
3 反对 回复 2017-01-06
  • 1 回答
  • 0 关注
  • 1516 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信