一段c++小程序的问题

493关注908浏览

void swap(long &p1,long &p2)
{
int temp=p1;
p1=p2;
p1=temp;
}
void main()
{
long a1=34,a2=23,a3=12;
if(a1>a2)
swap(a1,a2);
if(a2>a3)

展开全部
收起
5回答
提交回答
  • 至过去的我

    2044人对此回答表示赞同

    我是未来的你,你现在是不是在年找寻小程序答案。你不要感觉诧异,给你来信原因,就是让你不在后悔。今天去学习如何推广小程序,相信......点击查看更多>
    发布于
  • 雾里看花

    19人对此回答表示赞同

    1、首先swap()中的最后的代码应该是 p2=temp,这样才能实现交换。
    2、long& 表示引用,是C++引入的一种方法,它就是变量的别名,相当于传址,详细参考C++教科书。
    展开
    19
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Roman抽

    19人对此回答表示赞同

    你理解错了.
    在c++ 中, 函数声明中的参数, 带符号"&" 是引用的意思.

    什么是引用?
    请查询资料, 参数传递的 3种方式.
    展开
    19
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Zavier

    19人对此回答表示赞同

    简单的说,&这里表示取值的。(值引用)
    展开
    19
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • 小小小东

    9人对此回答表示赞同

    在这里long &代表的是long型引用,只要是同类型的即可。
    写swap(&a1,&a2)反而会出错, 单个的&表示地址
    展开
    9
    0回复
    发布于 6年前

    评论(0)

    收起评论

  • Xaviera

    8人对此回答表示赞同

    long & p1表示的是引用,就是你传过去的时候是别名,但是修改的地方是同一个地方。与传递指针不一样,如果你函数里面用 long *p1,就必须得 &p1来把p1的地址传过去。
    展开
    8
    0回复
    发布于 6年前

    评论(0)

    收起评论

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
咨询热线

13312967497

扫码添加业务即可随时咨询 还可领取小程序推广攻略

业务咨询: 13312967497
扫码咨询

扫码咨询套餐

回到顶部