stm32 输出比较模式:c++代码有疑问

来源:百度文库 编辑:杭州交通信息网 时间:2024/05/03 19:46:12
swap(int pt1,int pt2)
{int temp;
temp=pt1;
pt1=pt2;
pt2=temp;
}
exchange(int q1,int q2,int q3)
{if(q1<q2) swap(q1,q2);
if(q1<q3) swap(q1,q3) ;
if(q2<q3) swap(q2,q3) ;
}
main()
{int a,b,c;
printf("Input a,b,c:") ;
scanf("%d %d %d",&a,&b,&c);
exchange(a,b,c);
printf("\n%d,%d,%d\n",a,b,c);
}
我知道用指针可以,但我不懂像我上面这样写为什么运行不出来.

exchange(int &q1,int &q2,int &q3)
swap(int &pt1,int &pt2)
像你那样写只是把形参的值换了一下
而不是传递的数
加了&取地址后
是对操作数的地址进行操作
所以地址对应的数也会变了
你那种参数传递叫做值调用
传递的操作数不改变
加&后叫做引用调用
传递的操作数改变