C++主函数main带参数的用法,详细点最好

那个int main(int argc,char **argv)版本是什么意思,参数是以什么方式传递给主函数的,执行完后返回到哪了

int main(int argc,char **argv)

里面的argc是参数个数,

**argv 是参数列表.

注意,这里的参数个数等不是让你来传递的,是c程序最开始的部分调用main函数时传递给main()函数的.

比如你的测试程序是test.exe,代码里面就是这个int main(int argc,char **argv)

那么你执行的时候就要在命令行模式下执行..

我还是给你写个例子吧 

例子如下:

#include <stdio.h>

#include <stdlib.h>

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

{

 printf("test main()\n");

 if (3 == argc)

 {

  printf("argc = 3, agrv[0] = %s\n", agrv[0]);

 }

 else

 {

  printf("argc = %d\n", argc);

 }

 system("pause");

}

上述代码只是随便测试一下,让你知道怎么调用带参数的main

你在vc中编译一下,我这里生成的是ss.exe.

调用的时候要在命令行下,如图.

此时,看我输入的东西.

第一个参数是ss.exe, 切记,这就是第一个参数.

后面的how是第二个,

are是第三个,

参数之间用空格分隔.

这样明白了.吧

不明白发信给我.

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-07-23
int main(int argc,char *argv[])
是标准写法
当然也可以写成:int main(int argc,char **argv) 或int main()
就像中华人民共和国又称作中国一样.需要的时候使用全称,不需要的时候就使用简称.

int 的Main函数的返回值
当你的程序以正常态运行后,你需要return 0给操作系统.让操作系统知道你的程序正常结束了.

argc 是你参数的个数 它最小值是1
argv 是参数的实际值

我编译了一个文件叫做a.exe
我在Windows命令行下 调用这个程序 "a.exe -a"
那么 操作系统会传递给Main函数两个参数
即 argc=2;
一个参数是a.exe这个文件的URL
如: "c:\a.exe"
另一个参数就是"-a"

无论你调用这个程序是否加了参数,操作系统总是会把这个文件的URL当作第一个参数传递给主函数.

当然有时候我们不需要参数
那么 就直接写成
int main();
如果是C语言的话 要写成 int main(void) 因为C++里空括号的含义与C语言并不相同本回答被提问者采纳
第2个回答  2009-07-23
关注
相似回答