通过函数调用使主调函数能得到一个确定的值,这就是函数值(函数的返回值)。
1.函数的返回值是通过函数中的return语句获得的。
return语句将被调用函数中的一个确定值带回到主调函数中去。如果需要从被调函数带回一个函数值(供主调函数使用),被调函数中必须包含return语句。如果不需要从被调函数带回函数值,可以不要return语句。
一个函数可以有一个以上的return语句,执行到哪一个return语句 ,哪一个return语句起作用。return后面的值也可以是一个表达式。例如
Max(int x,int y)
{
return (x>y?x:y);
}
2.函数值的类型
既然函数有返回值,这个值当然应属于某一确定的类型,应当在定义函数时指定函数值的类型。例如下面是3个函数的首行:
int Max(float x,float y) //函数值为整型
char Letter(char c1,char c2) //函数值为字符型
double Min(int x,int y) //函数值为双精度型
注意:在定义函数时要指定函数类型。
3.在定义函数时指定的函数类型一般应该和return语句中的表达式类型一致。
如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准。对数值型数据,可以自动进行类型转换。即函数类型决定返回值的类型。
例题:将在Max函数中定义的变量z改为float型。函数返回值类型与指定函数类型不同。
int Max(float x, float y)
{
float z;
if (x > y)
{
z = x;
}
else
z = y;
return z;
}
int main()
{
float a, b;;
printf("输入要比较的两个整数:\n");
scanf("%f%f", &a, &b);
int c;
c = Max(a, b);
printf("Max=%d", c);
return 0;
}
输出:
因篇幅问题不能全部显示,请点此查看更多更全内容