我们先看看主函数main的参数列表
#include <stdio.h>
int main(int argc, char *argv[])
{
return 0;
}
- argc是一个整型变量,存储的是主函数的参数个数
- argv[]是一个字符型指针数组,其中存储的是主函数的参数字符串,是一个参数列表
注意:
1.主函数默认至少接受一个参数,那就是执行程序命令的本身
例如:./main
2.传递参数时:用空格来区分传递的参数
例如:./main abc def
3.传递的参数的类型都是字符串,与用户给定的参数类型无关
例如:用户传入1234,但程序会将其作为字符串处理例如:./main 1234
4.如果需要将“1234”作为整型值来处理,那就要在程序内部做出处理;
例如:
#include <stdio.h>
int main(int argc, char *argv[])
{
int num = 0;
sscanf(argv[1], "%d", &num);
printf("num * num = %d\n", num * num);
return 0;
}
运行结果:
由此程序可见这里使用了sscanf()函数,已将字符串类型的 “12”转换成了整型数值12。
sscanf()声明
int sscanf(const char *str, const char *format, …);
5.主函数接受环境变量
envp是一个字符指针数组,环境变量
例如:输出所有的环境变量
#include <stdio.h>
int main(int argc ,char *argv[], char *envp[])
{
int i = 0;
while(envp[i] != NULL)
{
printf("%s\n", envp[i++]);
}
return 0;
}
结果图:
版权声明:本文为xiaoxiaoguailou原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。