带参数的main函数

int main(int argc,char **argv) 

或int main(int argc,char *argv[]) 

/*解析

依据《C程序设计语言(第二版.新版)》的讲述:
第一个参数(习惯上称为argc,用于参数计数)的值表示运行程序时,命令行中参数的数目;
第二个参数(称为argv,用于参数的向量)是一个指向字符串数组的指针,其中每个字符串对应一个参数。

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

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

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

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

*/

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

(1) int main(void) 
(2) int main(int argc, char *argv[]) 或者int main(int argc, char **argv)

argv[argc]放空指针(NULL指针)。 
argc和argv可以用别名。

另外,还有一种受系统限制的形式: 
int main(int argc, char *argv[], char *envp[]) 
前两个参数同(2),第三个参数envp[]存放环境变量。

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

(1) main()
(2) int main()
(3) int main(void)
(4) int main(int, char**)
(5) int main(int, char*[])
(6) int main(int argc, char **argv)
(7) int main(int argc, char *argv[])
(8) int main( int argc, char *argv[], char*envp[])
(9) void main(void)

(1)是(3)的简写。不推荐使用。 
(2)是(3)的简写。在C++中是正确的形式。 
(3)在C和C++中都是正确的形式。推荐使用。(还有缺省int的main(void)形式)。 
(4)和(5)是不用参数时的一种写法。编译器级别高时会警告。不推荐使用。 
(6)是(7)的另外写法。两种都可以,凭个人爱好。 
(7)是带参数的正确的形式。推荐使用。 
(8)是一种很少用的写法,且受系统限制。 
(9)一般不认为是正确的写法。但是在嵌入式系统中有使用(包括void main()形式)

举例说明:

 #include <iostream.h>

 int main(int argc,char *argv[])
{
for(inti=;i<argc;i++)
{
cout<<argv[i]<<'\t';
    }
return0;
}
// 例如运行:

abc.exe

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

// 例如运行:

rec.exe  4  5.2

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

主函数里若有:

int x;

float y;

char s[80];

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

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

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

最新文章

  1. ContentProvider中央档案馆,以及获取联系人电话的示例
  2. java-mvc
  3. Yahoo! s4和Twitter storm的粗略比较
  4. linux常用方法
  5. xshell linux传文件
  6. 解决SecureCRT中文显示乱码
  7. linux源码阅读笔记 move_to_user_mode()解析
  8. 在ubuntu下利用minicom实现串口通信
  9. Android Drawable 和String 相互转化
  10. [RxJS] Handling a Complete Stream with Reduce
  11. 使用MSPT实现二层冗余
  12. Linux批量清理多个文件内容而不删除文件
  13. View的平移、缩放、旋转以及位置、坐标系
  14. ThinkPHP 数据库操作(五) : 存储过程、数据集、分布式数据库
  15. Python第二章(北理国家精品课 嵩天等)
  16. 工作效率提升之Eclipse篇(1):干掉烦人的xml文件的validation
  17. 人人项目renren-security\git\renren-security的目录下的文件列表
  18. 【函数】raise 函数(小窗help)
  19. 研究VCL源码的原因和起点
  20. VUE.js 中取得后台原生HTML字符串 原样显示问题

热门文章

  1. iOS开发中经常使用的Xcode插件
  2. [React] Return a list of elements from a functional component in React
  3. 乌云主站所有漏洞综合分析&amp;乌云主站漏洞统计
  4. php解耦的三种境界
  5. iOS怎样找到自己的沙盒
  6. .NET--百度百科
  7. 我对GFWed的一些自己的见解
  8. React Native :加载新闻列表
  9. Jenkins插件开发资料
  10. c++opencv项目移植到Android(Mat—》IplImage*)