C++编程入门 互动版

在线工具推荐: Three.js AI纹理开发包 - YOLO合成数据生成器 - GLTF/GLB在线编辑 - 3D模型格式在线转换 - 可编程3D场景编辑器

函数值

上一节的示例中,我们已经使用了函数的调用: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函数中交换形参的值,能引起实参值改变的是传地址和传引用的方式。