函数的返回值(1/3) 通常,希望通过函数调用使主调函数能得到一个确定的 值,这就是函数的返回值。 下面对函数值作一些说明: 1)函数的返回值是通过函数中的return语句获得的。 return语句将被调用函数中的一个确定值带回主调函数 中去。 如果需要从被调用函数带回一个函数值(供主调函数使 用),被调用函数中必须包含return语句。如果不需要 从被调用函数带回函数值可以不要return语句。 一个函数中可以有一个以上的return语句,执行到哪 个return语句,哪一个语句起作用
函数的返回值(1/3) 通常,希望通过函数调用使主调函数能得到一个确定的 值,这就是函数的返回值。 下面对函数值作一些说明: 1)函数的返回值是通过函数中的return语句获得的。 return语句将被调用函数中的一个确定值带回主调函数 中去。 如果需要从被调用函数带回一个函数值(供主调函数使 用),被调用函数中必须包含return语句。如果不需要 从被调用函数带回函数值可以不要return语句。 一个函数中可以有一个以上的return语句,执行到哪一 个return语句,哪一个语句起作用
函数的返回值(2/3) 2)返回值的类型。既然函数有返回值,这个值 当然应属于某一个确定的类型,应当在定义函数 时指定函数值的类型。 例如: int max(float x,float y) char letter(char c1,char c2> double min(int x,int y)
函数的返回值(2/3) 2)返回值的类型。既然函数有返回值,这个值 当然应属于某一个确定的类型,应当在定义函数 时指定函数值的类型。 例如: int max(float x, float y) char letter(char c1, char c2) double min(int x, int y)
函数的返回值(3/3) 3)如果函数返回值的类型和return语句中表达式 的值不一致,则以函数返回值类型为准。如果不 一致,则要进行类型转换。 例8.3返回值类型与函数类型不同。 程序代码见源码8-3.c 4)对于不带返回值的函数,应当用“void”定义 函数的返回值(即函数的返回值为“空类型”)
函数的返回值(3/3) 3)如果函数返回值的类型和return语句中表达式 的值不一致,则以函数返回值类型为准。如果不 一致,则要进行类型转换。 例8.3 返回值类型与函数类型不同。 程序代码见源码8-3.c 4)对于不带返回值的函数,应当用“void”定义 函数的返回值(即函数的返回值为“空类型”)
(1.4)函数的调用
(1.4)函数的调用
函数调用的一般形式 函数调用的一般形式为: 函数名(实参表列: 如果是调用无参函数,则“实参表列”可以没有,但括 弧不能省略。 实参与形参的个数应相等,类型应一致。实参与形参按 顺序对应,一一传递数据。 但应说明,如果实参表列包括多个实参,对实参求值的 顺序并不是确定的,有的系统按自左至右顺序求实参的 值,有的系统则按自右至左顺序。 例8.4实参求值的顺序(代码见源码8-4.c)
函数调用的一般形式 函数调用的一般形式为: 函数名(实参表列); 如果是调用无参函数,则“实参表列”可以没有,但括 弧不能省略。 实参与形参的个数应相等,类型应一致。实参与形参按 顺序对应,一一传递数据。 但应说明,如果实参表列包括多个实参,对实参求值的 顺序并不是确定的,有的系统按自左至右顺序求实参的 值,有的系统则按自右至左顺序。 例 8.4 实参求值的顺序(代码见源码8-4.c)