main(int argc,char *argv[])怎么使用

如题所述

输入方法看图,注意文件要在路径下。

#include <stdio.h>

int main

{

int n = argc; 

while (n-->0)

   printf("%s \n", argv); 

return 0; 

}

编译后可以改变可执行文件名为test.exe   不改也可以

开始->运行->输入cmd->改变路径到你test.exe文件所在的地方 (输入D:改变到D盘, 然后输入:cd 文件路径)

输入:test.exe arg1 arg2

这样输出是:

arg1

arg2

追问

你好,感谢你。不过还是有点不明白,while(n-->0)什么意思,还有我执行你上面那个程序之后
每次结果都不相同,如?a ?, ?【 ?"

另外我在cmd中每次执行test.exe arg1 arg2后结果都不同 第一次x♀w x♀w x♀w
下次是x♀wY ♀wY ♀wY为什么会出现不同,能再讲讲吗?

追答

while (n-->0) //也就是 当输入的参数个数(个数也就是test.exe后面的字符串个数 以空格隔开 在我上面的输入例子中“arg1 arg2 ”共2个参数 argc==2 )大于0的时候进入循环
开始 n=2; 判断后n==1 输出argv[1] == "arg2" 第2次输出argv[0] == "arg1" 后 n==0 结束循环
{
printf("%s \n", argv[n]); //少了个n 当然输出出错了
}

也就是说"arg1" "arg2" 分别存在argv[0] argv[1]中 n=2 所以才要减,才能不超出数组范围,然后把他们输出就是了

如果你问的是while循环问题 看书就能明白 从头学起

改正:printf("%s \n", argv[n]); //加 [n] 就可以了

看样子,你还没有学好语法呢,要不你会知道我少写了“[n]”,以及知道while循环的意思哦, 好好看书, 多上机运行吧

温馨提示:内容为网友见解,仅供参考
第1个回答  2011-03-09
在命令提示符下,打入文件名,空格,所需参数,argc表示文件需要通过键盘输入的量个数+1(文件名)。我是菜鸟,你还是看看谭浩强的书吧,我从那上面看的
第2个回答  推荐于2018-03-11
main(int argc,char *argv[])
argc表示 文件运行时 以空格为间隔的所有参数个数,argv[]数组中依次存放所有字串
比如:
借用上楼的程序来讲讲,希望不介意,该程序保存编译后名叫做 test.exe
在DOS环境中运行是输入如下
test one two three<回车>
argc=3,从0-3,argv[0]=test, argv[1]=one, argv[2]=two,argv[3]=three
这个东东是从DOS时代传下来的,程序后面跟参数,一般是该程序需要参数或需要操作目标时才会用到本回答被网友采纳
第3个回答  2011-03-17
这个叫做命令行参数:
经常在cmd命令行模式下调用程序的时候 通常是这样调用,比如:
net stop w3svc
net 就是这个程序的名称 后面的 stop、w3svc 就是命令行参数
启动net.exe 并传送两个参数给它, 这个两个参数net.exe是怎么接收的呢, 就是靠net.exe的 main函数的接收那两个参数
main(int argc,char *argv[ ])
argc 代表参数的个数,
*argv[ ] 外面传进来的这些参数就在这个字符串数组里

main(int argc,char *argv[])怎么使用
输入方法看图,注意文件要在路径下。include <stdio.h> int main { int n = argc;while (n-->0){ printf("%s \\n", argv);} return 0;} 编译后可以改变可执行文件名为test.exe 不改也可以 开始->运行->输入cmd->改变路径到你test.exe文件所在的地方 (输入D:改变到D盘, 然后输入:c...

c++中int main(int argc, char *argv[])怎么使用?
argv[] 第一个元素是程序名 ,其余元素就是你依次传入的参数,你可以像这样 ifstream in(argv[1]) ; 使用 ,总之正常字符串用法。dos下这样调用 路径\\程序名 路径\\input1.txt 路径\\input2.txt 也可以使用相对路径,如果你的 exe 文件与 txt 文件 在同一目录 ,你可以先进入这个目录,就不必加...

请问main(int argc, char *argv[])怎么用?
main(int argc,char *argv[])argc表示 文件运行时 以空格为间隔的所有参数个数,argv[]数组中依次存放所有字串 比如:借用上楼的程序来讲讲,希望不介意,该程序保存编译后名叫做 test.exe 在DOS环境中运行是输入如下 test one two three<回车> argc=3,从0-3,argv[0]=test, argv[1]=one, argv...

int main(int argc, char*argv[])是什么意思?什么时候用?请举个例子...
int main(int argc, char* argv[]){ int i;for (i = 0; i<argc; i++)cout<<argv[i]<<endl;cin>>i;return 0;} 执行时敲入 F:\\MYDOCU~1\\TEMPCODE\\D1\\DEBUG\\D1.EXE aaaa bbb ccc ddd 输出如下:F:\\MYDOCU~1\\TEMPCODE\\D1\\DEBUG...

int main(int argc, char **argv)
int argc,char argv 用于运行时,把命令行参数传入主程序。argc -- 命令行参数 总个数,包括 可执行程序名。argv[i]-- 第 i 个参数。argv[0]-- 可执行程序名。例如运行:abc.exe argc 等于 1,argv[0]是 "abc.exe"例如运行:rec.exe 4 5.2 argc 等于 3,argv[0]是 "rec.exe",argv...

int main(int argc, char *argv[]) { ... }
argc:表示参数个数,argv 保存所有参数 需要注意的是,程序本身路径永远是第一参数。所以直接运行相当于在CMD下敲命令:e:\/c++\/test\/debug\/test.exe 回车执行 这时:argc = 1, argv[0] = "e:\/c++\/test\/debug\/test.exe"CMD使用:例子1:E:\\>e:\/c++\/test\/debug\/test.exe 参数1 参数2 回车...

main(int argc,char *argv[])
char *argv[]就是用来接收外部参数的,例如:main(int argc,char *argv[]){ printf("%s",argv[0]);system("pause");} 假如编译这个程序后,可执行文件为Test.exe 你再在cmd命令里面加参数运行 Test.exe 参数 控制台就打印出 “参数”

int main(int argc, char * argv[])
+offset;buff[len]=' ';offset=len+1;} 就是依次把 argv 的各个串复制到 buff 中,每次由 offset 记录下已经复制了多少字符,下次复制由此位置开始复制。如果要用 sscanf ,用法类似,也可以这样 int i,offset = 0;for(i=1; i<=argc; i++)offset+=sprintf(buf+offset,"%s ",argv[i])

怎样向main函数输入参数
下面的程序演示argc和argv的使用:include <stdio.h> int main(int argc, char ** argv){ int i;for (i=0; i < argc; i++)printf("Argument %d is %s.\/n", i, argv[i]);return 0;} 2.C# Main()是C#应用程序的入口点,执行这个函数就是执行应用程序。也就是说,在执行过程开始时...

int main(int argc,char *argv[ ])
char *argv[] 是指命令行参数 当你直接点击运行或调试该程序时,这时,你并没有输入命令行参数,系统默认的命令行参数只有一个,根据编译器不同有的是文件路径,则运行后输出文件路径。有的是文件名 。当你在命令行提示符下输入 xxx.exe how are you 。这时命令行参数为4个 分别是"xxx.exe" 、...

相似回答