//函数调用传引用经典示例
include "iostream.h"
int func1(int a,int b);
int func1(int a);
float func1(float a,int b=3);
void func2(int &x,int y);
int main()
{
int a=1,b=2,c=3;
float d=6.0;
b=func1(func1(a,b));//func1(a,b)=0,func1(0)=0,即b=0
d=func1(d);//func1(d)=func1(d,3)=2,即d=2
func2(a,c);//func2(a,c)的运行效果为a=c=3
cout <<a <<endl <<b <<endl <<c <<endl <<d <<endl;//输出3、0、3和2
return 0;
}
int func1(int a,int b)
{
return a==b;
}
int func1(int a)
{
return a;
}
float func1(float a,int b)
{
return a/b;
}
void func2(int &x,int y)
{
x=y;
return;
}
void swap(int &a,int &b);//两数交换
void swap(int &a,int &b)//应该使用引用,否则不能起到交换作用,多一个分号
{
int temp;
temp=a;
a=b;
b=temp;
}
如果是void swap(int a,int b),这样的话就做不到
-----------------------------------------------------------------------------------------
void max2(int &a,int &b,int &c)//求较大的两个数
{
if (a<=b) swap(a,b);
if (a<=c) swap(a,c);
if (b<=c) swap(b,c);
//return a,b;//函数无法返回两个变量
return;