问题及代码:
/*
烟台大学计算机学院
文件名称:xiti.cpp
作者:王效杰
完成日期:2017年9月7日
问题描述:交换数值
输入描述:输入两个整数,交换二者的值并输出(三种方法)
输出描述:输出交换后的值
*/
//指针实现:
#include <iostream>
using namespace std;
void myswap(int *p1,int *p2);
int main()
{
int a,b;
cout<<"请输入待交换的两个整数: "<<endl;
cin>>a>>b;
myswap(&a,&b);
cout<<a<<' '<<b<<endl;
return 0;
}
void myswap(int *p1,int *p2)
{
int t;
t=*p1;
*p1=*p2;
*p2=t;
}
//引用实现:
#include <iostream>
using namespace std;
void myswap(int &p1,int &p2);
int main()
{
int a,b;
cout<<"请输入待交换的两个整数: "<<endl;
cin>>a>>b;
myswap(a,b);
cout<<a<<' '<<b<<endl;
return 0;
}
void myswap(int &p1,int &p2)
{
int t;
t=p1;
p1=p2;
p2=t;
}
//直接交换实现:
#include <iostream>
using namespace std;
void myswap(int p1,int p2);
int main()
{
int a,b;
cout<<"请输入待交换的两个整数: "<<endl;
cin>>a>>b;
myswap(a,b);
cout<<a<<' '<<b<<endl;
return 0;
}
void myswap(int p1,int p2)
{
int t;
t=p1;
p1=p2;
p2=t;
}
运行结果 指针交换:
运行结果 引用交换:
运行结果
普通函数交换(无法实现交换):
知识点总结:
从这个过程中,进一步巩固了对引用与指针的认识和理解,巩固实参与形参的概念
学习心得 :
基本掌握了交换值的函数原理。