1.传值:
<span style="font-size:14px;color:#000000;">#include<stdio.h>
void myswap(int,int);
int main()
{
int a, b;
printf("输入准备交换的两个整数:");
scanf("%d %d", &a, &b);
myswap(a,b);
printf("交换整数后的结果是:%d 和 %d\n", a, b);
return 0;
}
//(1)传值
void myswap(int x, int y)
{
int t;
t=x;
x=y;
y=t;
} </span>
结果:从结果看,传值的方法并不能交换整数,只是变化形参,实参并没有发生变化。
2.传地址:
<span style="color:#000000;">#include<stdio.h>
void myswap(int *,int *);
int main()
{
int a, b;
printf("输入交换的两个整数:");
scanf("%d %d", &a, &b);
myswap(&a,&b);
printf("交换整数后的结果是:%d 和 %d\n", a, b);
return 0;
}
//(2)传地址
void myswap(int *p1, int *p2)
{
int t;
t=*p1;
*p1=*p2;
*p2=t;
}</span>
结果:从结果看,用传地址的方法可以交换两个整数,将实参的地址传给了相应形参。
3.引用作形参:
<span style="font-size:14px;color:#000000;">#include<stdio.h>
void myswap(int &,int &);
int main()
{
int a, b;
printf("输入交换的两个整数:");
scanf("%d %d", &a, &b);
myswap(a,b);
printf("交换整数后的结果是:%d 和 %d\n", a, b);
return 0;
}
//(3)引用作形参
void myswap(int &x, int &y)
{
int t;
t=x;
x=y;
y=t;
}</span>
结果:从结果看此方法进行了交换。
第一次发表博文,诸多技术比较生疏,以后还要多加练习