函数返回值是指调用函数时,执行函数体中的程序段所取得的并带回到主调函数的值。函数可以有返回值,也可以没有返回值。
函数的返回值一般通过return语句实现,一般形式如下:
return表达式;或 return(表达式);
执行程序时,先计算表达式的值,然后把该值带回到主调函数中,因此return语句中表达式的值就是所求的函数值,表达式的值的类型必须要与函数首部说明的类型一致。如果类型不一致,则以函数值的类型为准,由系统自动进行转换。
【例6-2】编写程序,找出两个实数中较大的数。
【分析】比较两个实数的大小,结果也必然是实数,即函数返回值类型是实型,并有两个实型的参数,比较结束后把较大的值返回到主调函数中。
例6-2 运行视频
程序运行结果如图6-1所示。(www.xing528.com)
图6-1 例6-2的运行结果
【说明】执行上面程序时,主调函数main()调用函数max(),实参a、b的值传递给形参m、n,把m、n中较大的值赋给t,返回t的值时,由于t的类型是float,而函数的返回类型是int,出现类型不一致的情况,按C语言规定,先将t的值转换为int型,再作为返回值带回到主调函数中。最终,程序结果是10,而不是10.6。
(1)同一个函数中,为了在函数体的不同位置都能退出函数,可以使用多个return语句,但是return语句只能执行一次。程序执行到return语句时,流程就转到调用该函数的位置并返回函数值。
【例6-3】将例6-1中函数max()修改为如下形式。
以上函数中虽然有两个return语句,但要根据条件选择执行return(m)或return(n)中的一个语句,return语句只能执行一次。
(2)return语句中可以不含表达式,这时必须定义函数为void类型,其作用只是使程序流程返回到主调函数,不带回确定的函数值。
(3)函数体内也可以没有return语句,同样此时必须定义函数为void类型,程序一直执行到函数尾部的“}”,然后返回到主调函数,不带回确定的函数值。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。