函数的返回值是通过函数调用使主调函数得到的确定值。
例如:例1中,max(2,3)的值是3,max(5,2)的值是5。赋值语句将这个函数值赋给变量c。
说明:
(1)函数的返回值是通过函数中的return语句获得的。
一个函数中可以有一个以上的return语句,执行到哪一个return语句,哪一个语句起作用。
return语句后面的括弧也可以不要
例如:“returnz;”等价于“return(z);”
return后面的值可以是一个表达式。
例如:max(intx,inty)
{return(x>y?x:y);}
(2)函数的返回值应当属于某一个确定的类型,在定义函数时指定函数返回值的类型。
例如:下面是3个函数的首行:
int max(floatx,floaty)/函数值为整型/
char letter(char c1,char c2)/函数值为字符型/
double min(intx,inty)/函数值为双精度型/
注意:
凡不加类型说明的函数,自动按整型处理。
(3)在定义函数时指定的函数类型一般应该和return语句中的表达式类型一致。
如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准。
对数值型数据,可以自动进行类型转换。即函数类型决定返回值的类型。
(4)对于不带回值的函数,应当用“void”定义函数为“无类型”(或称“空类型”)。此时在函数体中不得出现return语句。
例2、返回值类型与函数类型不同
#include<stdio.h>
void main()
{intmax(floatx,floaty);
floata,b;
intc;
scanf("%f,%f,",&a,&b);
c=max(a,b);
printf("Maxis%d\n",c);
}
int max(floatx,floaty)
{floatz;/z为实型变量/
z=x>y?x∶y;
return(z);
}