【发布时间】:2019-01-09 18:10:17
【问题描述】:
每当我们在任何代码中定义 main() 函数时,为什么不在其中传递任何参数?
【问题讨论】:
-
显示一些你尝试过的代码。添加最小、完整和可验证的示例 (stackoverflow.com/help/mcve)
每当我们在任何代码中定义 main() 函数时,为什么不在其中传递任何参数?
【问题讨论】:
您只在调用函数时传递参数,但这可能只是我们两人在术语上的不同。
在定义函数时,我们定义了形式参数,包括它们的类型。
如果您从未见过使用参数定义的main(),那么您从未见过可以处理命令行参数的main()。
可以处理它们的main() 的常用原型是
int main(int argc, char **argv)
或
int main(int argc, char* argv[])
有关如何使用此功能的示例,请参阅
https://stackoverflow.com/a/47536091/7733418
【讨论】:
主要语法是
int main(int argc, char **argv);
其中,argc 是指传入的命令行参数的数量,其中包括用户调用的程序的实际名称。 argv 包含实际参数,从索引 1 开始。索引0 是程序名称。
【讨论】:
argv[0] 是程序名称,只有当名称实际存在时。