如果是调用无参函数,则“实参表列”可以没有,但括号不能省略。如果实参表列包含多个实参,则各参数间用逗号隔开。实参与形参的个数应相等,类型应匹配(相同或赋值兼容)。实参与形参按顺序对应,一对一地传递数据。但应说明,如果实参表列包括多个实参,对实参求值的顺序并不是确定的。
函数调用的方式
按函数在语句中的作用来分,可以有以下3种函数调用方式:
(1)函数语句
把函数调用单独作为一个语句,并不要求函数带回一个值,只是要求函数完成一定的操作。如例4.1中的printstar( );
(2)函数表达式
函数出现在一个表达式中,这时要求函数带回一个确定的值以参加表达式的运算。如c=2*max(a, b);
(3)函数参数
函数调用作为一个函数的实参。如:
- m=max(a, max(b, c)); //max(b, c)是函数调用,其值作为外层max函数调用的一个实参
对被调用函数的声明和函数原型
在一个函数中调用另一个函数(即被调用函数)需要具备以下条件:
首先被调用的函数必须是已经存在的函数。
如果使用库函数,一般还应该在本文件开头用#include命令将有关头文件“包含”到本文件中来。
如果使用用户自己定义的函数,而该函数与调用它的函数(即主调函数)在同一个程序单位中,且位置在主调函数之后,则必须在调用此函数之前对被调用的函数作声明。
所谓函数声明(declare),就是在函数尚在未定义的情况下,事先将该函数的有关信息通知编译系统,以便使编译能正常进行。
【例】对被调用的函数作声明。
- #include <iostream> using namespace std;
- int main( ) {










