在定义函数时,函数头指定的类型称为函数的返回值类型。在函数调用时,执行函数体中的语句后所得到并返回给主调函数的值,称为函数的返回值。根据函数的返回值的有无,可以将函数分为有返回值函数和无返回值函数。
1.有返回值函数
当函数有返回值时,在函数体中必须包含return语句,通过return语句将值返回给主调函数。return语句的一般格式为:
return表达式; 或 return(表达式);
语句的功能是计算表达式的值,并返回给主调函数。
注意:
(1)一个函数中可以有一个或者多个return语句,但是每次调用只能有一个return语句被执行,一个函数只能返回一个函数值。
(2)当一个函数有返回值时,必须在函数定义时指定函数的返回类型。如果省略函数的返回值类型,则系统默认函数返回类型为int 型。
(3)函数的返回值类型和return语句中的表达式的值类型应一致,如不一致,则以函数的返回值类型为主,系统自动进行类型转换。
【例8.4】函数的返回值类型与return语句表达式类型不一致。
运行结果:(www.xing528.com)
程序讲解:
在定义函数max 时,没有指定函数的返回值类型,默认为int 型。在函数体中有两条return语句,系统根据传入的值不同,选择执行return x或return y。return语句表达式的返回值类型为float 型,与函数的返回值类型不一致。系统会将return语句表达式的值转换为int 型,再作为函数返回值带回主调函数。
2.无返回值函数
当函数不需要返回值时,可以用void 定义函数的返回值类型。无返回值函数用于完成特定的任务,执行完后不向主调函数返回任何值。
当函数返回值类型为void 时,则函数体中不出现return语句,或者return语句后不带表达式。
【例8.5】函数的返回值类型为空。
运行结果:
程序讲解:
在定义函数max1 时,函数的返回值类型为void,在函数体中没有return语句。函数的功能是比较x和y的大小,并输出最大值。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。