/*
烟台大学计算机学院
文件名称:1.cpp
作者:王硕
完成日期:2017年9月7日
问题描述:交换数值
输入描述:输入两个整数,交换二者的值并输出(三种方法)
输出描述:输出交换后的值
*/
第一种方式:直接传值
//(1)传值
void myswap(int x, int y)
{
int t;
t=x;
x=y;
y=t;
}
运行结果如图:
第二种方式: 使用指针
//(2)传地址
void myswap(int *p1, int *p2)
{
int t;
t=*p1;
*p1=*p2;
*p2=t;
}
运行结果如图:
第三种方式:使用引用
//(3)引用作形参
void myswap(int &x, int &y)
{
int t;
t=x;
x=y;
y=t;
}
运行结果如下图:
下面是调用它们的main()函数:
int main()
{
int a, b;
printf("请输入待交换的两个整数:");
scanf("%d %d", &a, &b);
__________________; //分三个程序,分别写上调用myswap的合适形式
printf("调用交换函数后的结果是:%d 和 %d\n", a, b);
return 0;
}
总结:
通过比较这三种传值方法,让我对它们的功能和内部运行有了一个深刻的理解,以后会使用一种正确的方法去传值。
心得:
可以通过画图的方式去了解一个程序运行的原理。