首页 > 代码库 > 终于明白了main(int argc,char *argv[])是个神马东东

终于明白了main(int argc,char *argv[])是个神马东东

以前看到有main(int argc,char *argv[])的程序都需要在dos命令状态下输入命令,也不知道dos怎么打开,所以一直没尝试,今天又碰到一个,所以决定学习一下。

首先写好我的程序,我的是vs2008。程序如下:

#include<stdio.h>
void main(int argc,char *argv[])
{
	while(argc>1)
	{
		++argv;
		printf("%s\n",*argv);
		--argc;
	}
}

其实这就是课本上的一个简单的小程序,运行完成之后进入dos界面。

然后怎样进入dos界面呢?有两种方法:1、在开始的搜索中输出cmd,点击进入。2、按住windows键和R键,在打开中输入cmd,打开即可。进入dos默认的工作环境实在我们的用户文件夹里,要退到C盘的话可以输入cd..\..然后回车。想要到别的盘的话(加入到D盘)可以输入D:就可以了。

在dos中输入程序的可执行文件的路径(在debug文件夹下的.exe文件,我找了好久),还有一种比较快捷的方法就是直接把文件拖到dos界面中,就像我们用QQ传文件一样。

完成文件路径后输入“空格beijing空格shanghai回车”,(filename beijing shanghai)就可以看到程序的运行结果,其实也就是输出了beijing和shanghai。

那程序是怎样运行的呢?当处于操作命令状态下,输入main函数所在的可执行文件名,操作系统就会调用main函数。我们输入的内容就会传给main的形参。argc记录个数,argv[]是一个指针数组,记录输入内容的地址。我们输入了文件路径、beijing、shanghai这三个内容,那么argv就为3,argv[0],argv[1],argv[2]中存放的是输入三个内容的首地址。