每個程式必須有main函數,而且隻能有一個。
1、形參
int main(int argc, char *argv[]) { ... }
第二個形參argv是一個數組, 它的元素是指向C風格字元串的指針;第一個形參argc表示數組中字元串的數量。
當實參傳給main函數之後,argv的第一個元素指向程式的名字或者一個空字元串,接下來的元素依次傳遞指令行提供的實參。是以當使用argv中的實參時,一定要記得可選的實參從argv[1]開始,argv[0]儲存程式的名字,而非使用者輸入。
#include <iostream>
#include <string>
int main(int argc, char* argv[])
{
std::cout << "First:" << argc << std::endl;
std::cout << "Second:" << argv[] << std::endl;
system("pause");
}
運作結果:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICM38CXlZHbvN3cpR2Lc1TPB10QGtWUCpEMJ9CXsxWam9CXwADNvwVZ6l2c052bm9CXUJDT1wkNhVzLcRnbvZ2LcxmTXR2bw5WWsR2MMBjVtJWd0ckW65UbM5WOHJWa5kHT20ESjBjUIF2LcRHelR3LcJzLctmch1mclRXY39TOzgDOxYDNxITNyMDM4EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
2、傳回值
如果函數的傳回類型不是void,那麼它必須傳回一個值。但是這條規則有個例外:我們允許main函數沒有return語句直接結束。如果控制達到了main函數的結尾處而且沒有return語句,編譯器将隐式地 一條傳回0地return語句。
main函數的傳回值可以看作是狀态訓示器。傳回0表示執行成功,傳回其他值表示執行失敗,其中非0值的具體含義由機器決定。
注意:
main函數不能重載,也不能調用自己。