字体
第(2/5)页
关灯
   存书签 书架管理 返回目录
(a>b) return a;

    else return b;

    }

    第一行说明 max 函数是一个整型函数,其返回的函数值是一个整数。形参为 a,b,均为

    整型量。a,b 的具体值是由主调函数在调用时传送过来的。在{}中的函数体内,除形参外没

    有使用其它变量,因此只有语句而没有声明部分。在 max 函数体中的 return 语句是把 a(或

    b)的值作为函数的值返回给主调函数。有返回值函数中至少应有一个 return 语句。

    在C程序中,一个函数的定义可以放在任意位置,既可放在主函数 main 之前,也可放

    在 main 之后。

    例如:

    可把 max 函数置在 main 之后,也可以把它放在 main 之前。修改后的程序如下所示。

    【例 8.1】

    int max(int a,int b)

    {

    if(a>b)return a;

    else return b;

    }

    main()

    {

    int max(int a,int b);

    int x,y,z;

    printf("input two numbers:\n");

    scanf("%d%d",&x,&y);

    z=max(x,y);

    printf("maxmum=%d",z);

    }

    现在我们可以从函数定义、函数说明及函数调用的角度来分析整个程序,从中进一步了

    解函数的各种特点。

    程序的第 1 行至第 5 行为 max 函数定义。进入主函数后,因为准备调用 max 函数,故先

    对 max 函数进行说明(程序第 8 行)。函数定义和函数说明并不是一回事,在后面还要专门讨

    论。 可以看出函数说明与函数定义中的函数头部分相同,但是末尾要加分号。程序第 12 行

    为调用 max 函数,并把 x, y 中的值传送给 max 的形参 a, b。max 函数执行的结果(a 或 b)

    谭浩强      C 语言程序设计               2001 年 5 月 1 日

    将返回给变量 z。最后由主函数输出 z 的值。

    8.3 函数的参数和函数的值

    8.3.1 形式参数和实际参数

    前面已经介绍过,函数的参数分为形参和实参两种。在本小节中,进一步介绍形参、实

    参的特点和两者的关系。形参出现在函数定义中,在整个函数体内都可以使用,离开该函数

    则不能使用。实参出现在主调函数中,进入被调函数后,实参变量也不能使用。形参和实参

    的功能是作数据传送。发生函数调用时,主调函数把实参的值传送给被调函数的形参从而实

    现主调函数向被调函数的数据传送。

    函数的形参和实参具有以下特点:

    1. 形参变量只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。

    因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变

    量。

    2. 实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调
上一页 目录 下一页