int main(int argc, char*argv[])是什么意思?什么时候用?请举个例子,谢谢

如题所述

这是C/C++的一重要函数,叫主函数,执行函数的时候用。

无论程序多复杂,代码中必须有这么一个函数,也只能有一个这样的函数,程序执行时就是从这个函数进入的。

例子:

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\D1.EXE  

aaaa  

bbb  

ccc  

ddd  

扩展资料:

区别

1、argc是命令行总的参数个数,argv[]是argc个参数,其中第0个参数是程序的全名,以后的参数命令行后面跟的用户输入的参数。

2、char *argv[]是一个字符数组,其大小是int argc,主要用于命令行参数argv[]参数,数组里每个元素代表一个参数。

例如:

int main(int argc, char* argv[])

{

int i;

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

cout<<argv[i]<<endl;//输入数组到argv[i]中

cin>>i;                 //输出数组argv[i]

return   0;

}

比如你输入:

test   a.c   b.c   t.c

输出如下:

test

a.c

b.c

t.c

argc   =   4

argv[0]   =   "test"

argv[1]   =   "a.c"

argv[2]   =   "b.c"

argv[3]   =   "t.c"

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

假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所在目录的提示符下键入: PROG ABCDEFGH IJKL<回车>则输出结果为:
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。不知给你说清楚了没有?希望有帮助。本回答被网友采纳
相似回答