我们先看看主函数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 版权协议,转载请附上原文出处链接和本声明。
