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[ ] 外面传进来的这些参数就在这个字符串数组里

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网