C++ 程序:创建无参数且无返回值的函数
编程语言中的函数用于使代码模块化。在许多应用程序中,我们创建子模块来使我们的代码易于编写、易于调试,并且还通过避免重复不必要的代码来进行优化。为了实现这些功能,函数就应运而生。在许多情况下,函数会接收参数并返回某些内容。有时它可能不接收任何参数但会返回某些内容。还有一些特殊情况,即函数既不接收任何参数也不返回任何内容。在本教程中,我们将介绍 C++ 中此类无参数且无返回值的函数。
无参数且无返回值类型的函数
要定义一个这样的无参数且无返回值类型的函数,返回类型必须为 void,而参数列表可以为空,也可以在其中写 void。语法如下所示。
语法
void function_name ( ) { // function body }
语法
void function_name ( void ) { // function body }
在这种情况下,我们只是打印一些内容,或执行任何类似显示的操作,或在函数内部执行某些任务,此类情况适合使用此类型的函数。让我们来看一个这样的案例,并了解其在 C++ 中的实现。在我们的第一个示例中,我们将为固定的 10 行打印一个星形金字塔。
算法
- 定义函数 pyramid(),它不接收任何参数
- 对于初始化 i := 1,当 i <= 10 时,更新(将 i 增加 1),执行 -
- 对于初始化 j := 1,当 j <= 10 - i 时,更新(将 j 增加 1),执行。
- 显示空格
- 结束循环
- 对于初始化 j := 1,当 j <= i 时,更新(将 j 增加 1),执行。
- 显示 "* "
- 结束循环
- 转到新行
- 对于初始化 j := 1,当 j <= 10 - i 时,更新(将 j 增加 1),执行。
- 结束循环
- 结束函数体
- 调用 pyramid()
示例
#include <iostream> #include <sstream> using namespace std; void pyramid( ) { for( int i = 1; i <= 10; i++ ) { for( int j = 1; j <= 10 - i; j++ ) { cout << " "; } for( int j = 1; j <= i; j++ ) { cout << "* "; } cout << endl; } } int main() { pyramid(); }
输出
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
此程序仅打印大小为 10 的金字塔。由于大小是固定的,因此它不接收任何参数,并且由于它直接打印星号,因此不返回任何内容。让我们再看一个类似的星形金字塔示例,该示例从用户那里获取输入,但我们也不传递任何参数,并且该函数不会返回任何内容。
算法
- 定义函数 pyramid(),它不接收任何参数
- 从用户处获取 n 作为输入
- 对于初始化 i := 1,当 i <= n 时,更新(将 i 增加 1),执行 -
- 对于初始化 j := 1,当 j <= n - i 时,更新(将 j 增加 1),执行
- 显示空格
- 结束循环
- 对于初始化 j := 1,当 j <= i 时,更新(将 j 增加 1),执行
- 显示 "* "
- 结束循环
- 转到新行
- 对于初始化 j := 1,当 j <= n - i 时,更新(将 j 增加 1),执行
- 结束循环
- 结束函数体
- 调用 pyramid()
示例
#include <iostream> #include <sstream> using namespace std; void pyramid( void ) { int n; cout << "Enter line numbers: "; cin >> n; for( int i = 1; i <= n; i++ ) { for( int j = 1; j <= n - i; j++ ) { cout << " "; } for( int j = 1; j <= i; j++ ) { cout << "* "; } cout << endl; } } int main() { pyramid(); }
输出
Enter line numbers: 18 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
在这里,我们使用 cin 方法从用户处获取输入。此解决方案不需要额外的参数传递。
结论
函数用于使代码模块化并易于处理。在大多数情况下,我们使用函数来接收参数并在进行某些计算后返回某些值。但这并不是一个强制性过程。在本文中,我们讨论了如何在 C++ 中编写一个既不接收任何参数也不返回任何内容的函数。当某些任务是预定义的时,我们可以使用这种类型的函数。例如,在我们的第一个示例中,星形金字塔只有 10 行。因此,没有额外的输入。在第二个示例中,我们以输入的形式获取行号,但不是作为输入参数。我们直接从用户那里获取输入并将其存储到此函数内的局部变量中,然后在循环中使用它。