C语言-main方法的两个参数是干什么的?
程序员文章站
2022-06-24 11:13:26
大家都知道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了!