zoukankan      html  css  js  c++  java
  • C和C++中main函数里面参数的意义

    用一句话概括,都是用来存储命令行参数的。下面看例子:
    1.C/C++

    #include<stdio.h>

    main(int argc,char *argv[]){
    for(int i=0;i<argc;i++){
    printf("%s/n",argv[i]);

    }
    int a;
    scanf("%d",&a);
    }

    其中argc表示命令行参数的个数。C/C++规定,程序本身的文件名也算一个命令行参数,因此argc的值至少为1. argv是一个字符指针型的数组,用来存储命令行参数。如:argv[0]指向的字符串就是第一个命令行参数.

    C语言main函数的参数含义及输入   

    问题重现:C语言main函数有两个参数,怎么在VC6.0下给main函数传递参数,以及各参数的意义。

    带有参数的main()函数头格式为: 
                                                              void main(int argc, char * argv[]) 或void main(int argc, char ** argv) 
    第一个参数argc是int型的,它用来存放命令行参数的个数。实际上argc所存放的数值比命令行参数的个数多1,这是因为系统默认将命令字(可执行文件名)作为第一个参数,存放在argv[0]的位置处。 
    第二个参数argv是一个一维的一级指针数组,它是用来存放命令行中各个参数和命令字的字符串的,并且规定: 
           argv[0]存放命令字,也就是可执行的文件名
           argv[1]存放命令行中第一个参数 
           argv[2]存放命令行中第二个参数 
           …

    例子:

    假设程序的名称为prog,当只输入prog时,由操作系统传来的参数为:argc=1,表示只有一程序名称,argv[0]指向输入的程序路径及名称;当输入prog para_1时:argc=2,表示出了程序名外还有一个参数,argv[0]指向输入的程序路径及名称,argv[1]指向参数para_1字符串。

    在VC6.0中,我们进行如下设置:

    在 Project-->Setting -->Debug-->Program Arguments里面任意设置命令行参数:
                                                                   This is the first time I post documents here.^_^

    那么:

    argv[1]存放命令行中第一个参数 ,即This
    argv[2]存放命令行中第二个参数 ,即is

  • 相关阅读:
    Windows安装Oracle
    MySQL索引的创建和使用
    使用TensorFlow进行中文情感分析
    gensim库word2vec使用
    软件测试理论
    产品经理
    产品经理
    产品经理
    职业规划及核心竞争力
    项目管理
  • 原文地址:https://www.cnblogs.com/liuwen1987/p/3463223.html
Copyright © 2011-2022 走看看