平顶山到四川的火车:c中,main(),与main(int argc,char *argv[])有什么区别

来源:百度文库 编辑:高考问答 时间:2024/04/29 15:26:55

有些exe可以带参数运行,比如
ping localhost -t
这里localhost,-t就是参数,
main(int argc, char *argv[])就是为了让程序里面能使用参数,argc是argument count的缩写,表示参数的个数,argv是argument value的缩写,表示参数的值,
需要注意的是,exe程序的完整文件名也算在参数里面,所以ping localhost -t的argc是3。
需要在程序里面使用这些参数的话,可以模仿下面的代码:
int main(int argc, char *argv[])
{
int i = 0;
printf("argc: %d\n", argc);
for(i = 0; i < argc; i++)
{
printf("Arg %d : %s\n", i + 1, argv[i]);
}
return 0;
}

mian()没有参数,编译出来的程序可以直接运行。而main(int argc,char *argv[])有两个参数,编译出来的.exe文件要加参数才可以出来正确结果。比如你的程序名字叫pro,则第一个直接输入pro就可以运行了,第二个要输入pro(3,x)才可以有结果。
可以说第二个有个数据接口,可以对外面的传入参数数据进行处理。

如果你的程序在运行时不需要参数信息,那么main()与main(int argc,char *argv[])是没有区别的。

如果你的程序在运行时需要参数信息,那么main()就满足不了需要了,必须使用main(int argc,char *argv[])。