c语言主函数中的参数有什么用?举例说明

如题所述

C语言的带参数的main函数格式为main(int argc,char* argv[]),其中argc为参数个数加1,argv为参数列表,从argv[1]开始。编译后生成可执行文件,可以在执行的程序后加参数,比如编译一个程序为test.exe,则在执行时可以输入:
test.exe 1 firestone
在这里,argc等于3,argv[0]为"test.exe",argv[1]为"1",argv[2]为"firestone"。
如果有下面的程序:
#include <stdio.h>
void main(int argc,char *argv[])
{
printf("You've input %d parameters.\n",argc-1);
for(int i=1;i<argc;i++)printf("The No.%d is:%s\n",i,argv[i]);
}
则上面的输入会产生如下运行结果:
You've input 2 parameters.
The No.1 is 1
The No.2 is firestone

追问

为什么?

追答

他的用处,,系统会捕捉到 。。你的输入的参数。。
test.exe 1 firestone 这里有两个参数

追问

不明白

追答

在不明白也没办法了,
这么说吧,,对于刚学习的人来说
可以不用理会
你写成 int main() 就行了,反正你不会去获取数据。。。

初学者都是这样的

追问

我知道为什么写成int main(),我是不知道主函数中的参数有什么用

第二张图,说明一下为什么输入那段东西就会输出下面那段字符?

追答

整个程序就是将 反过来输出

上面的题目答案为 software hardware cfile

温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-05-16
下面是两年前对一网友的回答,供参考,希望有帮助。
main是C/C++的一重要函数,叫主函数。无论程序多复杂,代码中必须有这么一个函数,也只能有一个这样的函数;程序执行时就是从这个函数进入的。由于问得比较笼统,如果你想知道详细情况的话,发给你一个网友的求助与本人的回答,自己看吧……

假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的提示符下键入: PROG ABCDEFGH IJKL<回车>则输出结果为:
void main(int argc,char *argv[]){
while(--argc>0)
printf("%s",argv[argc]);
printf("\n");
}
各句程序什么意思?
输出结果是什么?
请帮忙解决,谢谢

回答求助:
这段代码不长,但要说清楚你的要求还需要比较长的一段话。首先,说一下main(int argc,char *argv[])函数的两个形参,第一个int argc,是记录你输入在命令行(你题目中说的操作就是命令行输入)上的字符串个数;第二个*argv[]是个指针数组,存放输入在命令行上的命令(字符串)。当命令行输入PROG ABCDEFGH IJKL时,记录了3个字符串(以间隔为界,不含间隔,这是约定),*argv[0]中放的是"PROG",*argv[1]中放的是"ABCDEFGH",*argv[2]中放的是"IJKL",这样argc就是3了。while(--argc>0)是条件循环,argc>0时继续;argc初值是3,前置--先减1为2,所以后面的输出语句打出*argv[2]中的内容IJKL;再执行while(--argc>0),argc再减1为1,打出*argv[1]中的内容ABCDEFGH;再循环,argc减1为0,条件破坏,不再执行while(--argc>0)的循环体。所以最后显示的是IJKLABCDEFGH。不知给你说清楚了没有?希望有帮助。本回答被网友采纳
第2个回答  2014-05-15
那是一个 字符串命令行参数的数组
第3个回答  2014-05-15
在dos里面用过
相似回答