
5.2 无参函数
无参函数就是不用传递参数的函数,这种函数一般只能实现固定的数据处理功能。本节将详细讲解无参函数的定义、调用等相关内容。
5.2.1 无参函数的定义
定义函数就是制作工具。函数由返回类型(return type)、函数名、函数体组成,其语法形式如下。

在定义函数时要注意以下几点。
❑ 函数名属于标识符,所以必须符合标识符的命名规则。在命名函数时,还需要保持较好的可读性。例如,对于函数subtraction ( ),从函数名可以知道该函数与减法运算相关。
❑ 函函数的定义语句需要写在main( )函数之外。
【示例5-1】下面定义一个无参函数subtraction( )。


从函数的定义语句中可以看出,函数subtraction()无返回类型、无参数,并且其定义位置位于main( )函数之外。
5.2.2 无参函数的调用
无参函数的调用语句由函数名、小括号及分号组成,其语法形式如下。

注意:函数名对大小写敏感,所以调用的函数名必须与定义的函数名完全保持一致。
【示例5-2】下面调用无参函数subtraction()。

程序运行结果如下。

从运行结果中可以看出,求差函数subtraction()被成功调用,输出了a-b的值-10。程序运行过程如图5.1所示。

图5.1 程序运行过程
5.2.3 函数定义的位置与声明
函数定义的位置有两种,一种位于函数main( )之前,也就是先定义后调用,其语法形式如图5.2所示。

图5.2 先定义后调用
另一种位于函数main( )之后,也就是先调用后定义,此时需要在调用函数之前做一个声明,声明语法如下。

先声明后调用的语法形式如图5.3所示。

图5.3 先声明后调用
注意:函数只需声明一次即可,图中展示的两个位置都是可以用于声明函数的位置,全部都在调用函数语句之前。
【示例5-3】下面演示先调用后定义函数,如果没有声明函数语句会导致错误。


代码中函数subtraction()的定义语句位于main()函数下方,并且没有声明函数的语句。此时,运行程序出现错误“‘subtraction’:找不到标识符”,也就是编译器无法识别subtraction,如图5.4所示。

图5.4 找不到标识符
此时只需在调用函数之前对函数进行声明即可,代码如下。

代码中有两个声明位置都可以声明函数,选择其中一个即可。此时运行程序,结果如下。
