/*
* Copyright (c) 2011, 烟台大学计算机学院
* All rights reserved.
* 作 者:王锴英
* 完成日期:2012 年 12月 20 日
* 版 本 号:v1.0
* 输入描述: 体验函数的参数传递
* 问题描述:略
* 程序输出:结果
* 问题分析:问题的实际
* 算法设计:略
*/ (1) 无法达到交换的目的
#include <iostream>
using namespace std;
void jiaohuan(int x,int y);
int main(void)
{
int a,b;
cin>>a>>b;
if(a<b)jiaohuan(a,b);
cout<<"a="<<a<<" "<<"b="<<b<<endl;
return 0;
}
void jiaohuan(int x,int y)
{
int t;
t=x;
x=y;
y=t;
}
(2)可以达到交换目的(传地址值的方法)
#include <iostream>
using namespace std;
void jiaohuan(int *x,int *y);
int main(void)
{
int a,b;
cin>>a>>b;
if(a<b)jiaohuan(&a,&b);
cout<<"a="<<a<<" "<<"b="<<b<<endl;
return 0;
}
void jiaohuan(int *x,int *y)
{
int t;
t=*x;
*x=*y;
*y=t;
}
(3)可以达到交换目的(采用引用类型作参数)
#include <iostream>
using namespace std;
void jiaohuan(int &x,int &y);
int main(void)
{
int a,b;
cin>>a>>b;
if(a<b)jiaohuan(a,b);
cout<<"a="<<a<<" "<<"b="<<b<<endl;
return 0;
}
void jiaohuan(int &x,int &y)
{
int t;
t=x;
x=y;
y=t;
}
单步执行结果:
(2)传地址
(1)