在编程语言中,函数被用于使代码模块化。在许多应用程序中,我们创建子模块来使我们的代码易于编写、易于调试,并通过反复拒绝不必要的代码来进行优化。为了实现这些功能,函数出现在画面中。在许多情况下,函数接受参数并返回某些东西。有时它可能不接受任何参数,但返回某些东西。还有一些特殊情况,函数既不接受任何参数,也不返回任何东西。在本教程中,我们将介绍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
- 显示空白
- 结束
- 用于初始化j := 1,当j
- 显示“*”
示例
'#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
- 对于初始化 j := 1,当 j <= n - i 时,更新(增加 j 1),执行
- 显示空白
- 结束
- 用于初始化j := 1,当j
- 显示“*”
示例
'#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行,所以不需要额外的输入。在第二个示例中,我们将行号作为输入,但不作为输入参数。我们直接从用户那里获取输入,并将其存储在此函数内的一个局部变量中,然后在循环中使用它。