本文目錄
1、main函數的返回值
- main函數是操作系統調用的函數
- 操作系統總是將main函數的返回值作爲程序的退出狀態
- main函數的返回值正常來說是0,如果是其他值,就是錯誤的狀態。
2、main函數的參數
- 程序執行的時候可以向main函數傳遞參數
- main函數的參數是可變的,可以有多個參數。
下面是main函數的四種形式:
int main()
int main(int argc)
int main(int argc, char* argv[])
int main(int argc, char* argv[], char*env)
其中:
- argc :命令行參數個數
- argv:命令行參數數組
- env: 環境變量數組
3、測驗命令行參數
程序如下,我們通過打印來看看傳入的命令行參數到底是什麼。
#include <cstdio>
int main(int argc, char *argv[]) {
printf("%d\n", argc);
for (int i = 0; i < argc; i++)
printf("%s\n", argv[i]);
}
當我們什麼都不操作,直接運行程序時,輸出如下:
1
D:\ComputerProgramming\2020Algorithm\Coding\cmake-build-debug\111.exe
🔺可以發現,在沒有任何命令行參數輸入時:argc(命令行參數個數)的值爲1,argv(命令行參數數組)就只有一個元素 —— 儲存着該代碼運行文件的絕對路徑。
那麼如果我們在命令行傳入了參數呢?下面來看看:
打開cmd窗口,將該代碼的可執行(.exe)文件拖入窗口。然後就可以輸入我們需要的命令行參數(字符串類型)了,記住從exe文件開始,每個字符串之間都要有空格,輸入完成後按下回車。
看看程序運行的輸出結果:
好了,這下就明白了。C程序main函數,有操作系統調用,故傳入其中的參數,是由操作系統傳入的。
- 在默認情況下,argc(命令行參數個數)的值爲1,argv(命令行參數數組)就只有一個元素 —— 儲存着該代碼運行文件的絕對路徑。
- 當命令行有輸入參數時,操作系統會將命令行參數一一儲存到argv(命令行參數數組)中,且同步增大argc(命令行參數個數)的值。
end
歡迎關注個人公衆號“ 雞翅編程 ”,這裏是認真且乖巧的碼農一枚。
---- 做最乖巧的博客er,做最紮實的程序員 ----
旨在用心寫好每一篇文章,平常會把筆記彙總成推送更新~