(41.3函数的调用】 函数的调用的一般形式如下: 函数名(实际参数表) 实际参数表中的实际参数又称实参,它是一个表达式,用来初始化被 调用函数的形参,因此,应与该函数定义中的形参表中的形参一一对应, 即个数相等且对应参数的数据类型相同 函数调用是一个表达式,其中的括号是函数调用运算符。表达式的值 就是被调用函数的返回值,类型是函数定义中指定的函数返回值的类型, 也即函数的类型 如果函数的返回类型为void,说明该函数没有返回值。该函数的调用表 达式尽能在基后 用作表达式语句。否则,该函数的调用表达式可作为 个子表达式,角作其他表达式的操作数。 函数调用 计算出每个实使用该值去初始化对应的形参,即用第1个实参初始化第 参表达式的值 个形参,第2个实参初始化第2个形参,…,依次类推
函数的调用的一般形式如下: 函数名(实际参数表) 如果函数的返回类型为void,说明该函数没有返回值。该函数的调用表 达式只能在其后加分号用作表达式语句。否则,该函数的调用表达式可作为 一个子表达式,用作其他表达式的操作数。 实际参数表中的实际参数又称实参,它是一个表达式,用来初始化被 调用函数的形参,因此,应与该函数定义中的形参表中的形参一一对应, 即个数相等且对应参数的数据类型相同。 函数调用是一个表达式,其中的括号是函数调用运算符。表达式的值 就是被调用函数的返回值,类型是函数定义中指定的函数返回值的类型, 也即函数的类型。 函数调用: 计算出每个实 参表达式的值 使用该值去初始化对应的形参,即用第1个实参初始化第 1个形参,第2个实参初始化第2个形参,…,依次类推。 【 4.1.3 函数的调用】
函数的返回值是通过返回语句 return来实现的。 return语句的一般格式如下: return表达式; 意义:计算出其中表达式的值,并将这个值返回给主调函数作为调用子函 数的结果值。同时结束该函数的执行,继续执行函数表达式后面的操作。 注对于没有返回值的函数, return语句可有可无。 没有 return语句:函数在被调用时,程序执行完函数体的最后 (情况分类) 条语句后,自动返回主调函数。 有 return语句:这时的 return语句应表示为: return; 个函数中允许出现多个 return语句,分别用于不同条件下的函数返回 例4-2函数的调用 ∥根据用户输入的长方形的长及宽计算出它的面积 # include≤ iostream. h>
意义:计算出其中表达式的值,并将这个值返回给主调函数作为调用子函 数的结果值。同时结束该函数的执行,继续执行函数表达式后面的操作。 函数的返回值是通过返回语句return来实现的。 return语句的一般格式如下: return 表达式; 情况分类 没有return语句:函数在被调用时,程序执行完函数体的最后 一条语句后,自动返回主调函数。 有return语句: 这时的return语句应表示为: return; 一个函数中允许出现多个return语句,分别用于不同条件下的函数返回。 函数的调用 //根据用户输入的长方形的长及宽计算出它的面积 #include<iostream.h> 注 对于没有返回值的函数,return语句可有可无。 例 4-2
double rectanglearea (double a, double b); (续) void maino double length width cout<<"Please input the length and width of the rectangle: cin>>length>>width; cout<<"the area of the rectangle is"<<rectanglearea(length, width); cout<<endl; double rectanglearea(double a, double b) double s: s=a*b return s 说明:由两个函数组成,函数main接受用户的输入后,用输入值作 为实参调用函数 rectanglearea,子函数 rectanglearea计算出长方形的 面积,并将其值返回给函数mi,由函数mi显示出来
double rectanglearea(double a,double b); void main() { double length,width; cout<< ″Please input the length and width of the rectangle:″; cin>>length>>width; cout<< ″the area of the rectangle is ″<<rectanglearea(length,width); cout<<endl; } double rectanglearea(double a,double b) { double s; s=a*b; return s; } 说明:由两个函数组成,函数main接受用户的输入后,用输入值作 为实参调用函数rectanglearea,子函数rectanglearea计算出长方形的 面积,并将其值返回给函数main,由函数main显示出来。 (续)
(续) Please input the length and width of the rectangle: 号提示用户输入数据,假设用户输入 the area of the rectangle is 200 在一个函数带有多个参数时,C+语言并没有明确规定调用这个函数时对实 参的求值顺序,而是让编译器根据对代码进行优化的需要自行决定对实参的 求值顺序。它的不确定性在某些情况下会带来二义性问题。 例4-3实参求值顺序不同所带来的二义性问题 # include≤ iostream. h> int area(int a, int b); void main()
在一个函数带有多个参数时,C++语言并没有明确规定调用这个函数时对实 参的求值顺序,而是让编译器根据对代码进行优化的需要自行决定对实参的 求值顺序。它的不确定性在某些情况下会带来二义性问题。 Please input the length and width of the rectangle: the area of the rectangle is 200 提示用户输入数据,假设用户输入: 20 10 例 4-3 实参求值顺序不同所带来的二义性问题 #include<iostream.h> int area(int a,int b); void main( ) { (续)