C语言中main方法中参数的目的是什么?

Dee*_*pak 2 c arguments

我正在学习C并注意到,如果对于简单的程序(比如打印某些东西或其他简单的东西),即使我删除了主程序中的参数,它仍然可以工作,但是我所关注的书将这些参数放在每个程序中.

#include <stdio.h>

int main(int argc, char const *argv[])
// even works if i do int main() 
{
/* write your code here */

return 0;
}
Run Code Online (Sandbox Code Playgroud)

我想了解这些论点的原因,为什么我们把它们和它们用于什么?也许指出一个程序的例子,如果我们从main函数中删除这些参数并指出它们的目的是什么,程序将无法工作?

Sye*_*idi 8

主要签名是:

int main(int argc, char **argv);
Run Code Online (Sandbox Code Playgroud)

argc传入的命令行参数的数量在哪里,包括用户调用的程序的实际名称.

argv包含实际参数,从索引1开始,因为index 0是程序名称.

所以,如果你像这样运行你的程序:

./program hello world
Run Code Online (Sandbox Code Playgroud)

然后:

argc会的3.

argv[0]会的./program.

argv[1]会的hello.

argv[2]会的world.

我希望这对你来说已经足够清楚了.

如果您想更清楚地理解它,请转到:链接,链接