清华大学出版社 TSINGHUA UNIVERSITY PRESS 3.在被定义的函数中,必须指定形参的类型 4.实参与形参的类型应相同或赋值兼容。 5.实参向形参的数据传递是单向“值传 递”,只能由实参传给形参,而不能由形 参传回来给实参。在调用函数时,给形参 分配存储单元,并将实参对应的值传递给 形参,调用结束后,形参单元被释放,实 参单元仍保留并维持原值
3.在被定义的函数中,必须指定形参的类型。 4.实参与形参的类型应相同或赋值兼容。 5. 实参向形参的数据传递是单向“值传 递”,只能由实参传给形参,而不能由形 参传回来给实参。在调用函数时,给形参 分配存储单元,并将实参对应的值传递给 形参,调用结束后,形参单元被释放,实 参单元仍保留并维持原值
清华大学出版社 TSINGHUA UNIVERSITY PRESS 7.3函数参数和函数的值 7.3.2函数的返回值 函数的返回值是通过函数调用使主调函数得到的确 定值。 例如:例8.2中,max(2,3)的值是3,max(5 2)的值是5。赋值语句将这个函数值赋给变量c
7.3 函数参数和函数的值 7.3.2 函数的返回值 函数的返回值是通过函数调用使主调函数得到的确 定值。 例如:例8.2中,max(2,3)的值是3,max(5, 2)的值是5。赋值语句将这个函数值赋给变量c
清华大学出版社 TSINGHUA UNIVERSITY PRESS 说明 1.函数的返回值是通过函数中的 return语句获得的 个函数中可以有一个以上的 return语句,执行到哪 return语句,哪一个语句起作用 return语句后面的括弧也可以不要 例如:“ return z;”等价于“ return(z) return后面的值可以是一个表达式 例如:max(intx,inty) t return (x>y? x:y);)
说明: 1.函数的返回值是通过函数中的return语句获得的。 一个函数中可以有一个以上的return语句,执行到哪一 个return语句,哪一个语句起作用。 return语句后面的括弧也可以不要 例如: “return z;” 等价于 “return (z); ” return后面的值可以是一个表达式。 例如: max(int x,int y) { return(x>y?x:y); }
清华大学出版社 TSINGHUA UNIVERSITY PRESS 2.函数的返回值应当属于某一个确定的类型,在定义 函数时指定函数返回值的类型 例如:下面是3个函数的首行: int max( float X, float y)/*函数值为整型*/ char etter( char c1, char c2)/*函数值为字符型* double min(intx,inty)函数值为双精度型*/ 注意: 凡不加类型说明的函数,自动按整型处理
2. 函数的返回值应当属于某一个确定的类型,在定义 函数时指定函数返回值的类型。 例如:下面是3个函数的首行: int max(float x,float y) /* 函数值为整型 */ char letter(char c1,char c2) /* 函数值为字符型 */ double min(int x,int y) /* 函数值为双精度型 */ 注意: 凡不加类型说明的函数,自动按整型处理
清华大学出版社 TSINGHUA UNIVERSITY PRESS 3.在定义函数时指定的函数类型一般应该和 return语 句中的表达式类型一致 如果函数值的类型和 return语句中表达式的值不一致, 则以函数类型为准。对数值型数据,可以自动进行类 型转换。即函数类型决定返回值的类型 4.对于不带回值的函数,应当用“void”定义函数为 “无类型”(或称“空类型”)。此时在函数体中不 得出现 return语句
3.在定义函数时指定的函数类型一般应该和return语 句中的表达式类型一致。 如果函数值的类型和return语句中表达式的值不一致, 则以函数类型为准。对数值型数据,可以自动进行类 型转换。即函数类型决定返回值的类型。 4.对于不带回值的函数,应当用“void”定义函数为 “无类型”(或称“空类型”)。此时在函数体中不 得出现return语句