欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2022-03-07 10:17:36
大家都知道C语言的main方法怎么写的吧!但你们知道mian方法里的参数的含义吗? 代码如下: int argc,char *argv[]这是什么意思呢? int argc,char *argv[]这是什么意思呢? 其实这个就是我们运行时给的参数;比如argc他代表我们给的参数的个数,而 *argv ......

大家都知道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 <stdio.h>

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 <stdio.h>

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了!