C++程序:创建带参数但无返回值的函数
在函数式编程中,函数用于创建模块化代码。在许多应用程序中,我们构建子模块以使我们的代码更易于编写、更易于调试,并且通过避免重复编写不必要的代码来提高效率。函数在实现这些特性方面发挥着作用。函数通常接受参数并产生结果。有时它可能不接受任何参数但仍然产生某些东西。在一些罕见的情况下,函数接受一些输入但不返回任何内容。本课程将讨论接受参数但不返回任何内容的 C++ 函数。
带参数但无返回值的函数
要定义这样一个带参数但没有返回类型的函数,返回类型必须为 void,并且参数列表中必须至少有一个参数。
语法
void function_name ( <type> argument1, <type> argument2, … ) { // function body }
在这种情况下,要产生输出,我们只需打印一些内容,或执行任何类似显示的操作,或在函数内部执行某些任务而无需显示任何输出。让我们来看其中一个例子,并了解在 C++ 中的实现。在我们的示例中,我们将为 n 行打印一个星形金字塔,其中 n 是通过函数传递的参数。
算法
- 定义一个函数 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( int 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( 15 ); }
输出
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
此程序将为 n 行打印金字塔,这里 n 为 15。行号通过参数传递。由于它直接打印星号,因此没有返回值。让我们再看一个例子,我们接收一个数字并使用函数调用显示其反转。
算法
- 定义 reverse() 函数,它将接收一个数字 n
- rev := 0
- 当 n > 0 时,执行
- rev := (rev * 10) + (n 模 10)
- n := floor of (n / 10)
- 结束循环
- 显示 rev
- 结束函数
- 使用任何数字调用 reverse() 函数,它将显示其反转。
示例
#include <iostream> #include <sstream> using namespace std; void reverse( int n ) { int rev = 0; while( n > 0 ) { rev = (rev * 10) + n % 10; n = n / 10; } cout << rev << endl; } int main() { cout << "Reverse of 14586 is: "; reverse( 14586 ); cout << "Reverse of 1250 is: "; reverse( 1250 ); cout << "Reverse of 15651 is: "; reverse( 15651 ); }
输出
Reverse of 14586 is: 68541 Reverse of 1250 is: 521 Reverse of 15651 is: 15651
这里,数字也作为参数从调用函数中获取,然后直接显示结果,因此没有返回值。
结论
函数用于使代码模块化并易于处理。在大多数情况下,我们使用函数来获取参数并在进行某些计算后返回某些值。但这并不是一个强制性的过程。在本文中,我们讨论了如何在 C++ 中编写一个接受参数但不返回任何内容的函数。例如,在我们的第一个示例中,为 n 行打印星形金字塔,其中 n 是输入,并且它直接显示结果。在第二个示例中,我们将数字作为参数传递,然后将其转换为其反转,并且没有返回结果,它在控制台上显示结果。
广告