main函数的参数问题 (转载)

void main(int arg ,char *arv[]){} 
arg -- 命令行参数总个数
arv[0] -- 参数1,程序名
arv[1] -- 参数2,字符串
arv[2] -- 参数3,字符串
arv[3] -- 参数4,字符串
例如,你的可执行程序是 fly.exe 运行命令: fly.exe 123 45
传入主函数的 arg=3 arv[0]: "fly.exe" arv[1]: "123" arv[2]: "45"
--------------------
fly.exe 123 45 987
传入主函数的 arg=4 arv[0]: "fly.exe" arv[1]: "123" arv[2]: "45" arv[3]: "987"
----------------------
if (arg >=2) sscanf(arv[1],"%d",&x1); 把字符串123转整型123,放入x1
if (arg >=3) sscanf(arv[2],"%d",&x2); 把字符串45转整型45,放入x2

===================================================================================
当main()返回0,表示程序正常结束;返回任何非0值表示错误或者非正常退出。exit()用main()的返回值作为返回操作系统的代码,以指示程序执行的结果。
不要把程序启动时的“命令行参数”与调用main()的“函数实参”的概念混淆了,命令行参数是由启动程序截获并打包成字符串数组后传递给main()的一个形参argv的,而包括命令字(即可执行文件名称)在内的所有参数的个数则被传递给形参argc。 ——《高质量程序设计指南 C/C++语言》
原文地址:https://www.cnblogs.com/NewZealand/p/3409870.html