您的位置:首页 > 大数据 > 人工智能

带参数的main函数

2013-03-25 18:18 267 查看
第一个带参数的main。

#include<iostream.h>

intmain(intargc,char*argv[])

{

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

{

cout<<argv[i]<<'\t';//

}

return0;

}

/*

intargc,char**argv用于运行时,把命令行参数传入主程序。

argc--命令行参数总个数,包括可执行程序名。

argv[i]--第i个参数。

argv[0]--可执行程序名。

*/

关于带参数的main函数网络收集:

intmain(intargc,char**argv)这里面的**argv含义··

是用来传递参数的,假如你编译成的文件名是a.exe,那么在命令提示符下可以通过a.exe1234来向程序传递参数,这时两个参数就会传递到字符串数组argv中,注意此时实际传递了三个参数,第一个参数是文件名,第二个参数是12,第三个是34,而argc就是参数个数。

intargc,char**argv用于运行时,把命令行参数传入主程序。


argc--命令行参数总个数,包括可执行程序名。

argv[i]--第i个参数。

argv[0]--可执行程序名。


例如运行:

abc.exe

argc等于1,argv[0]是"abc.exe"


例如运行:

rec.exe45.2

argc等于3,argv[0]是"rec.exe",argv[1]是"4",argv[2]是"5.2".

主函数里若有:

intx;

floaty;

chars[80];

strcpy(s,argv[0]);//程序名存入了s

sscanf(argv[1],"%d",&x);//x得到数值4

sscanf(argv[2],"%f",&y);//y得到数值5.2


ANSI-C(C89/C99)的话main()函数有2种主要形式。

(1)intmain(void)

(2)intmain(intargc,char*argv[])

(2)也可写成intmain(intargc,char**argv)

argv[argc]放空指针(NULL指针)。

argc和argv可以用别名。

另外,还有一种受系统限制的形式:

intmain(intargc,char*argv[],char*envp[])

前两个参数同(2),第三个参数envp[]放环境变量。

这个形式很少用。

所以严格讲,

ANSI-C推荐的带参数的main()函数只有上面(2)这一种。

另外,搜集了一下C和C++中常见的几种形式:

(1)main()

(2)intmain()

(3)intmain(void)

(4)intmain(int,char**)

(5)intmain(int,char*[])

(6)intmain(intargc,char**argv)

(7)intmain(intargc,char*argv[])

(8)intmain(intargc,char*argv[],char*envp[])

(9)voidmain(void)

(1)是(3)的简写。不推荐使用。

(2)是(3)的简写。在C++中是正确的形式。

(3)在C和C++中都是正确的形式。推荐使用。(还有缺省int的main(void)形式)。

(4)和(5)是不用参数时的一种写法。编译器级别高时会警告。不推荐使用。

(6)是(7)的另外写法。两种都可以,凭个人爱好。

(7)是带参数的正确的形式。推荐使用。

(8)是一种很少用的写法,且受系统限制。

(9)一般不认为是正确的写法。但是在嵌入式系统中有使用(包括voidmain()形式)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: