.返回值是具体将值返回到定义函数时的行参上吗?不是的,而是在函数的名称前加上数据类型不过请注意:返回值类型和所调用的参数的类型可以不一致....需要向楼主说明的一点是如何取得这个函数的返回值:我写的比较多,不让我发,说我重复字符太多了,你看我空间吧,答案在那里,我不会删的: http://user.qzone.qq.com/597872495/blog/1206627783希望我的回答对你有帮助:)
void 不必要return
int 类型 一定要return
int max (int,int)
因为主函数里面调用了grade函数,而grade函数里面有输出语句,所以会有书上的结果。
并不是返回给了主函数值。
void createwaybilllist(waybill *& head1,banci *& head2)
(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语句中表达式的值不为空,返回值仍为空,严格满足函数类型决定返回值的类型。