在程式語言中,函數被用來使程式碼模組化。在許多應用程式中,我們創建子模組來使我們的程式碼易於編寫、易於調試,並透過反覆拒絕不必要的程式碼來進行最佳化。為了實現這些功能,函數出現在畫面中。在許多情況下,函數接受參數並傳回某些東西。有時它可能不接受任何參數,但會傳回某些東西。還有一些特殊情況,函數既不接受任何參數,也不回傳任何東西。在本教程中,我們將介紹C 中不帶參數和傳回值的這種函數。
要定義一個沒有參數和回傳類型的函數,回傳類型必須是void,參數清單可以是空的,或者我們可以在那裡寫void。文法如下所示。
void function_name ( ) { // function body }
void function_name ( void ) { // function body }
在這樣的場景中,我們只是列印一些東西,或執行任何類似顯示的操作,或是在函數內部執行一些任務,這種情況適合這種類型的函數。讓我們來看一個這樣的例子,並看一下 C 中的實作。在我們的第一個範例中,我們將列印固定 10 行的星形金字塔。
#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 種尺寸的金字塔。由於大小是固定的,因此它不接受任何參數,並且由於它直接列印星號,因此不會返回任何內容。讓我們來看另一個類似星形金字塔的例子,它從使用者那裡獲取輸入,但我們也沒有傳遞任何參數,並且函數不會傳回任何內容。
#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行,所以不需要額外的輸入。在第二個範例中,我們將行號作為輸入,但不作為輸入參數。我們直接從使用者那裡獲取輸入,並將其儲存在此函數內的一個局部變數中,然後在循環中使用它。
以上是C++程式建立一個無參數且無回傳值的函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!