C语言-main方法的两个参数是干什么的?

大家都知道C语言的main方法怎么写的吧!但你们知道mian方法里的参数的含义吗?

代码如下:

int main(int argc,char *argv[]){
    //argc是传进的参数个数
    //argv是传进的参数

    
    for (int i = 0; i < argc; i++) printf("%s\t",argv[i]);
    
    //argv 是个随机数字

    return 0;
}

 

  • int argc,char *argv[]这是什么意思呢?

 

  其实这个就是我们运行时给的参数;比如argc他代表我们给的参数的个数,而 *argv[]是我们传进参数的内容

 

  • 我们怎么获取这些东西呢?

    1.获取传参个数:

      获取方法很简单,如果我们想获取参数的个数,argc就是了,直接打印argc

     2.获取传递的参数

      *argv他是一个数组,所以按照正常的方法获取数组就ok啦!

  比如我们以下面为例子(遍历参数)

     

#include 

int main(int argc,char *argv[]){
    //argc是传进的参数个数
    //argv是传进的参数

    
    for (int i = 0; i < argc; i++) printf("%s\t",argv[i]);
    
    //argv 是个随机数字

    return 0;
}

 

输入 run.exe aa bb

输出:run.exe aa      bb


 

我们可以发现,他把run.exe也当成了参数,这不是我想要的结果,所以我们改变下for循环规则!

 

#include 

int main(int argc,char *argv[]){
    //argc是传进的参数个数
    //argv是传进的参数

    
    for (int i = 0; i < argc-1; i++) printf("参数为:%s\t",argv[i+1]);
    
    //argv 是个随机数字

    return 0;
}

 

 

 

这样就OK了!

 

转载于:https://www.cnblogs.com/IVBC/p/11120344.html

你可能感兴趣的:(C语言-main方法的两个参数是干什么的?)