C 命令行参数解释和程序错误

C 命令行参数解释和程序错误,c,command-line-arguments,C,Command Line Arguments,我已经阅读了很多关于stackoverflow的问题,但仍然没有得到它。请解释命令行参数的正确使用。它们在代码开始执行时被传递,这就是我们所关注的吗?但是有什么用呢。请链接到一些此类信息性问题,在这里我可以完全阅读和理解这个主题。谢谢 #include <stdio.h> main(int argc,char *argv[]) { int i; for(i= 1; i<argv; i++) \\error argument count should be used inste

我已经阅读了很多关于stackoverflow的问题,但仍然没有得到它。请解释命令行参数的正确使用。它们在代码开始执行时被传递,这就是我们所关注的吗?但是有什么用呢。请链接到一些此类信息性问题,在这里我可以完全阅读和理解这个主题。谢谢

#include <stdio.h>

main(int argc,char *argv[])
{
int i;
for(i= 1; i<argv; i++) \\error argument count should be used instead argument vector
    printf("%s%s", argv[i], (i< argc-1) ? " " : "" );
printf("\n");
return 0;
}
#包括
main(int argc,char*argv[])
{
int i;

for(i=1;i命令行参数用于在程序运行时将信息传递给程序,而不需要启动程序的用户/脚本进行任何额外的交互。这可能包括程序正在处理的文件的路径或用于定义其配置和行为的标志

通过使用这些功能,而不是像scanf这样的功能,用户可以更轻松地自动启动,并将其与其他程序集成

编辑:原始问题包含一个错误代码,其中argv被意外地用来代替argc,我将把这部分问题的答案留给后人:


for循环线应如下所示:

for(i= 1; i<argc; i++)

for(i=1;我假设您想使用
ioops,对不起,我读了六个小时,现在我已经筋疲力尽了:(非常感谢@sleutheye的帮助,我强烈建议下次运行带有警告的程序,因为这种错误很常见。在
gcc
上,它是
-Wall
选项关于命令行的大量信息,以及为什么要在谷歌搜索中使用它,例如:我看不到printf应该打印字符串…如果我要将“任意字符串”打印为argv[i],我该怎么做?*绝对不是-这就是你的意思吗?编辑了我的问题,这是一个错误。现在请用编辑过的答案重新打印。谢谢@thip@Andrew_CSoops是的,修复了!谢谢你的帮助!@AbhimanyuAryan我已经更新了我的答案,这有帮助吗?而且我认为它值得留在你的原始代码中,以argv为例)问题的标题更有意义,而且b)这是一个容易犯的错误,把它留在里面可能会对未来的人们有所帮助