C++函数返回值问题怎么写?

返回值是具体将值返回到定义函数时的行参上吗?
max(int,int)
如果需要返回那么return需要怎么写。
我对这个返回值很迷茫啊~也不知道问的对不对。

还有,如果是void类型的,那么需要写return吗,还是一定不能写?
如果是int类型的,一定要写return吗?

第1个回答  2018-02-03
(1)函数的返回值是通过函数中的return语句获得的。return语句将被调用函数中的一个确定值带回主调函数中去。
如果需要从被调用函数带回一个函数值(供主调函数使用),被调用函数必须包含return语句。如果不需要从被调用函数带回函数值,则可以不要return语句。
一个函数中可以有一个以上的return语句,执行到哪一个return语句,哪一个语句起作用。
return语句后面的括号可以要,也可以不要,如“return z;”与“return (z);”等价。return后面的值可以是一个表达式。例如:
int max(int x,int y)
{
return(x>y?x:y);
}
如果在主调函数中调用它,比如:
a=max(1,2)
那么函数max的return语句后面表达式的值就是2,也就是说max(1,2)=2,所以a=2

(2)函数值的类型。既然函数有返回值,这个值当然应属于某一个确定的类型,应当在定义函数是指定函数值的类型。例如下面是几个函数的部首:
int max(float x,float y);//函数值为整型
char letter(char c1,char c2);//函数值为字符型
double min(int x,int y);//函数值为双精度型
void change(int a);//函数值为空

(3)如果函数值的类型和return语句中表达式的值不一致,则以函数类型为准,即函数类型决定返回值的类型。对数值型数据,可以自动进行类型转换。特别提一提void类型,如果一个函数的类型为void,那么,即使函数中有return语句且return语句中表达式的值不为空,返回值仍为空,严格满足函数类型决定返回值的类型。本回答被网友采纳