2012-03-14 72 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); 
} 

所以,回答你的问题恰恰是:是的。