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 是輸入,並且它直接顯示結果。在第二個示例中,我們將數字作為引數傳遞,然後將其轉換為其反轉,並且沒有返回結果,它在控制檯上顯示結果。
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP