C++函数返回值问题怎么写?
返回值是具体将值返回到定义函数时的行参上吗?max(int,int)如果需要返回那么return需要怎么写。我对这个返回值很迷茫啊~也不知道问的对不对。还有,如果是voi...
返回值是具体将值返回到定义函数时的行参上吗?
max(int,int)
如果需要返回那么return需要怎么写。
我对这个返回值很迷茫啊~也不知道问的对不对。
还有,如果是void类型的,那么需要写return吗,还是一定不能写?
如果是int类型的,一定要写return吗? 展开
max(int,int)
如果需要返回那么return需要怎么写。
我对这个返回值很迷茫啊~也不知道问的对不对。
还有,如果是void类型的,那么需要写return吗,还是一定不能写?
如果是int类型的,一定要写return吗? 展开
若以下回答无法解决问题,邀请你更新回答
1个回答
展开全部
(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语句中表达式的值不为空,返回值仍为空,严格满足函数类型决定返回值的类型。
如果需要从被调用函数带回一个函数值(供主调函数使用),被调用函数必须包含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语句中表达式的值不为空,返回值仍为空,严格满足函数类型决定返回值的类型。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询