2012-03-14 77 views
1

我可以直接使用命令行參數作爲我在main()中調用的其他函數的參數嗎?例如:作爲函數的命令行參數C

int main(int argc, char* argv[]) { 
    somefunction(argv[2], argv[3]); 
} 
+3

有一些在線c編譯器,如[ideone](http://ideone.com/) - 檢查出來。 – amit 2012-03-14 14:40:39

+1

當然,爲什麼不呢?只要確保argc> = 4(在你的例子中) – mac 2012-03-14 14:40:39

回答

5

命令行參數是main的參數。 假設這樣的功能:

func1(int a, char *s[]) 
{ 
} 

這裏A和S是參數的功能FUNC1。它們的行爲與函數中的局部變量類似。現在你可以將這些變量傳遞給另一個函數。 (像這樣:)

func1(int a, char *s[]) 
{ 
     func2(a, s); 
} 

所以,回答你的問題恰恰是:是的。