/*
*Copyright (c) 2017, 烟台大学计算机学院
*All rights reserved.
*文件名称:shuimuqinghua.cpp
*作 者:朱坤昂
*完成日期:2017年9月4日
*版 本 号:v1.0
*
*问题描述:输入三个数并使用交换函数交换
*输入描述:1 2
*程序输出:测试结果
*/
第一种方法之直接传递参数值
#include<iostream>
using namespace std;
void myswap(int x,int y);
int main()
{
int a,b;
cout<<"请输入待交换的两个整数:";
cin>>a>>b;
myswap(a,b);
cout<<"调用交换函数后的结果是:"<<a<<' '<<b<<endl;
return 0;
}
void myswap(int x,int y)
{
int temp;
temp=x;
x=y;
y=temp;
}
第二种方法之传地址
#include<iostream>
using namespace std;
void myswap(int *x,int *y);
int main()
{
int a,b,*p1,*p2;
cout<<"请输入待交换的两个整数:";
cin>>a>>b;
p1=&a;
p2=&b;
myswap(p1,p2);
cout<<"调用交换函数后的结果是:"<<a<<' '<<b<<endl;
return 0;
}
void myswap(int *x,int *y)
{
int temp;
temp=*x;
*x=*y;
*y=temp;
}
第三种方式之引用作形参
#include<iostream>
using namespace std;
void myswap(int &x,int &y);
int main()
{
int a,b;
cout<<"请输入待交换的两个整数:";
cin>>a>>b;
myswap(a,b);
cout<<"调用交换函数后的结果是:"<<a<<' '<<b<<endl;
return 0;
}
void myswap(int &x,int &y)
{
int temp;
temp=x;
x=y;
y=temp;
}
知识点总结:
从这三个程序中,我们对C/C++语言中函数传递参数的三种方式有了更进一步的了解,传值操作是不能达到交换目的,其余两种是没有问题的。
学习心得:
我们需要加深对程序的理解,不要只浮于表面,要积极思考;基础知识是非常重要的,要打好基础,平时多敲代码!