(3)在被定义的函数中,必须指定形参的类型 (见例8.2程序中的"c=max(a b);") (4)实参与形参的类型应相同或赋值兼容。例 82中实参和形参都是整型。如果实参为整型 而形参x为实型,或者相反,则按第3章介绍 的不同类型数值的赋值规则进行转换。 例如实参值a为35,而形参x为整型,则将实 数35转换成整数3,然后送到形参b。字符型 与整型可以互相通用。 20212/24
2021/2/24 (3) 在被定义的函数中,必须指定形参的类型 (见例8.2程序中的“c=max(a, b);” )。 (4) 实参与形参的类型应相同或赋值兼容。例 8.2中实参和形参都是整型。如果实参为整型 而形参x为实型,或者相反,则按第3章介绍 的不同类型数值的赋值规则进行转换。 例如实参值a为3.5,而形参x为整型,则将实 数3.5转换成整数3,然后送到形参b。字符型 与整型可以互相通用
(5)在C语言中,实参向对形参的数据传递是 值传递”,单向传递,只由实参传给形参 而不能由形参传回来给实参。在内存中,实 参单元与形参单元是不同的单元。 a 2 2021/2/24
2021/2/24 (5) 在C语言中,实参向对形参的数据传递是 “值传递”,单向传递,只由实参传给形参, 而不能由形参传回来给实参。在内存中,实 参单元与形参单元是不同的单元
在调用函数时,给形参分配存储单元,并将实 参对应的值传递给形参,调用结束后,形参单 元被释放,实参单元仍保留并维持原值。因此, 在执行一个被调用函数时,形参的值如果发生 改变,并不会改变主调函数的实参的值。例如, 若在执行函数过程中x和y的值变为10和1 5,而a和b仍为2和3。 a 10 2021/2/24
2021/2/24 在调用函数时,给形参分配存储单元,并将实 参对应的值传递给形参,调用结束后,形参单 元被释放,实参单元仍保留并维持原值。因此, 在执行一个被调用函数时,形参的值如果发生 改变,并不会改变主调函数的实参的值。例如, 若在执行函数过程中x和y的值变为10和1 5,而a和b仍为2和3
5832函数的返回值 通常,希望通过函数调用使主调函数能得到一个确 定的值,这就是函数的返回值。例如,例8.2中,m ax(2,3)的值是3,max(5,2)的值 是5。赋值语句将这个函数值赋给变量c。 关于函数返回值的一些说明 (1)函数的返回值是通过函数中的 return语句获 得的。 2021/2/24
2021/2/24 §8.3.2 函数的返回值 通常,希望通过函数调用使主调函数能得到一个确 定的值,这就是函数的返回值。例如,例8.2中,m ax(2,3)的值是3,max(5,2)的值 是5。赋值语句将这个函数值赋给变量c。 关于函数返回值的一些说明: (1)函数的返回值是通过函数中的return语句获 得的
return语句将被调用函数中的一个确定值带回主调函 数中去。见图82中从 return语句返回的箭头。 如果需要从被调用函数带回一个函数值供主调函数使 用,被调用函数中必须包含 return语句。如果不需要 从被调用函数带回函数值可以不要 return语句 个函数中可以有一个以上的 return语句,执行到哪 个 return语句,哪一个语句起作用。 return语句后面 的括弧也可以不要, 如:“ return Z;”等价于" return(z) 2021/2/24
2021/2/24 如果需要从被调用函数带回一个函数值供主调函数使 用,被调用函数中必须包含return语句。如果不需要 从被调用函数带回函数值可以不要return语句。 一个函数中可以有一个以上的return语句,执行到哪 一个return语句,哪一个语句起作用。return语句后面 的括弧也可以不要, 如: “return z;” 等价于 “return (z);” return语句将被调用函数中的一个确定值带回主调函 数中去。见图8.2中从return语句返回的箭头