在表达式中使用函数的形式是:先写函数名,然后写一对圆括号(无参函数也需要写),再根据函数定义时的函数头部中所规定的参数类型和参数个数写上单个/多个表达式(用逗号隔开)。
这些表达式是送给函数作为计算对象的,称为函数的实际参数,简称实参。
函数调用的一般形式为:
函数名(实际参数)
函数名(实际参数, 实际参数)
函数名()
函数定义:返回值类型 函数名(参数表) {语句序列;} //此时参数表中的参数称为形参
函数形参都看作函数定义的局部变量,其作用域就是这个函数的函数体。
函数调用:函数名(实际参数表) //多个实参用逗号分隔
在调用时,把实参的值传递给形参。
函数体的复合语句在参数具有特定实参值的情况下开始执行。
参数表非空,则调用时必须提供个数正确、类型合适的实参。实参是具体函数计算的出发点。实参可以是数值、变量或由数值和变量构成的表达式。
参数表为空,那么就不需要(而且也不允许)提供参数,只需要写一对空的圆括号(不可省略)。
如果提供的实参类型与形参类型不一致,那么在执行时就会发生类型转换。
注意:同一作用域里不允许定义同名变量:作用域相同的变量的名字不能冲突。否则使用哪个变量的问题就无法确定了。不同作用域容许定义同名变量。
#include <iostream>
using namespace std;
double scircle (double radius) {
double erea = 3.14159265 * radius * radius;
return erea;
}
double srect (double a, double b) {
return a * b;
}
void prtStar() {
cout << "********************" << endl;
return;
}
int main() {
double s;
prtStar();
s = scircle(2.4);
cout << "s= " << s << endl;
double r = 1.5;
s = scircle(r);
cout << "s= " << s << endl;
cout << scircle(r * 2) << endl;
double length = 3.5, width = 4.2;
s = srect(length, width);
cout << "s= " << srect (length, width) << endl;
return 0;
}