【C语言】main函数的参数

  • Post author:
  • Post category:其他


我们先看看主函数main的参数列表

#include <stdio.h>

int main(int argc, char *argv[])
{
	
	return 0;
}
  1. argc是一个整型变量,存储的是主函数的参数个数
  2. 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 版权协议,转载请附上原文出处链接和本声明。