函数值
上一节的示例中,我们已经使用了函数的调用:int max=max_int(i,j);。函数的调用是用一个表达式来表示的,其格式为:函数名(实参列表);注意下面几点:
1.实参列表由0个、1个或多个实在参数构成,若多个用逗号隔开,每个实参都可以是表达式。
2.实参的个数和类型由形参决定,实参是用来给形参初始化的。所谓形参就是函数声明括号里面中的参数。
3.实参对形参初始化是按位置进行的。
return语句
再看上一节示例中的函数调用:int max=max_int(i,j);函数调用是一个表达式,是表达式就会有值,这个值就是函数的返回值,返回值通过在函数中使用return语句来实现的,其格式为:return (表达式);或者return;注意下面几点:
1.return后面的表达式就是要返回的函数值,表达式外面的小括号可以省略。
2.return后面的表达式的类型要与函数声明中的类型一致。例如函数声明中说会返回一个int型数值,那么return后面的表达式就要是int类型的。
3.执行到return语句时,函数就返回了,不会再执行函数体内的其他语句了。
4.返回值的类型是在函数声明或定义中明确指出的,若该函数没有返回值,那么声明时返回值类型应为void。此时函数内的return语句可以省略,或者用"return;"
5.看函数功能需要,return语句可以写多个。举例说明:
#include <iostream>
using namespace std;
int max_int(int,int,int);
void main()
{
int a,b,c;
cout<<"请输入三个整数:"<<endl;
cin>>a>>b>>c;
int max=max_int(a,b,c);
cout<<"max="<<max<<endl;
}
int max_int(int x,int y,int z)
{
int temp;
if(x>y)
temp=x;
else
temp=y;
if(temp>z)
return temp;
else
return z;
}
上面程序中main函数我们改成了void类型,不需要返回值,所以main函数中的return语句可以省略。另外max_int函数返回三个整数中的最大值:函数体中有两个return语句,执行到任意一个函数返回。
函数调用方式
调用函数与被调用函数的参数传递方式有三种:传值、传地址、传引用。以交换两个变量值的函数swap为例,讲解三种调用方法:
上面的调用方式是学好C++的重要一点,要好好理解。在swap函数中交换形参的值,能引起实参值改变的是传地址和传引用的方式。