1、值傳遞,創建變量x和y,x的值等于a的值,y的值等于b的值
voidExchg1(intx,inty)
{
inttmp;
tmp=x;
x=y;
y=tmp;
printf(“x=%d,y=%d/n”,x,y)
}
voidmain()
{
inta=4,b=6;
Exchg1(a,b);
printf(“a=%d,b=%d/n”,a,b)
}
2、地址傳遞,相當于建立了px和py兩個指向整型的指針,其值分別為a和b的地址
Exchg2(int*px,int*py)
{
inttmp=*px;
*px=*py;
*py=tmp;
print(“*px=%d,*py=%d/n”,*px,*py);
}
main()
{
inta=4;
intb=6;
Exchg2(&a,&b);
Print(“a=%d,b=%d/n”,a,b);
}
3、引用傳遞,x和y直接引用a和b,對a和b操作,相當于給a、b起了別名x、y
Exchg2(int&x,int&y)
{
inttmp=x;
x=y;
y=tmp;
print(“x=%d,y=%d/n”,x,y);
}
main()
{
inta=4;
intb=6;
Exchg2(a,b);
Print(“a=%d,b=%d/n”,a,b);
}