【C语言】main函数的参数

我们先看看主函数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;
}

结果图:
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/xiaoxiaoguailou/article/details/116091105