C语言 main 函数参数 main(int argc, char *argv[])

零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门


一.main函数写法

在 C99 标准中定义 main 函数两种正确的写法

/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C语言教程 - C语言 main 函数参数 main(int argc, char *argv[])
//@Time:2021/07/16 07:30
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************/ 


int main(void) { /* ... */ }

int main(int argc, char *argv[]) { /* ... */ }

二.main函数参数简介

/*
参数介绍
argc : main函数参数个数,当参数为void的时,argc=1,默认参数为可执行文件名
argv : 指针数组,分别指向个参数字符串首地址,其中argv[0]指向默认参数
*/
int main(int argc, char *argv[]) { /* ... */ }

默认情况下,argc 值为 1,表示 argv[0] 当前工程可执行文件的文件名;后面的参数从 arg[1] 开始都按顺序存放在字符数组中,argc 数至少是1个;


三.使用main函数参数

1.打印main函数参数

避免控制台程序一闪而过,我们可以使用 system(“pause”) 等待用户输入后,在结束程序;

/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C语言教程 - C语言 main 函数参数 main(int argc, char *argv[])
//@Time:2021/07/16 07:30
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************/ 

#include <stdio.h>
#include <windows.h>

int main(int argc,char *argv[])
{
  int ii=0;

  // 显示参数的个数
  printf("argc is %d\n",argc);

  // 列出全部的参数
  for (ii=0;ii<argc;ii++)
  {
    printf("argv[%d] is %s\n",ii,argv[ii]);
  }
  system("pause");
}
/*
输出:

argc is 1
argv[0] is C:\Users\Administrator\Desktop\mainFunc\Debug\mainFunc.exe
请按任意键继续. . .
*/

默认情况下,argc 值为 1,表示 argv[0] 当前工程可执行文件的文件名


a.直接运行 exe 文件

argc is 1
argv[0] is C:\Users\Administrator\Desktop\mainFunc\Debug\mainFunc.exe
请按任意键继续. . .

b.打开 cmd 命令行窗口执行exe文件

C语言 main 函数参数 main(int argc, char *argv[])

c.打开 cmd 命令行窗口执行exe文件并设置 main 函数参数

C语言 main 函数参数 main(int argc, char *argv[])

注意:exe 和后面每一个参数之间有空格隔开;


2.使用main函数参数

/******************************************************************************************/
//@Author:猿说编程
//@Blog(个人博客地址): www.codersrc.com
//@File:C语言教程 - C语言 main 函数参数 main(int argc, char *argv[])
//@Time:2021/07/16 07:30
//@Motto:不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
/******************************************************************************************/ 

#include<stdio.h>
#include<string.h>
#include<stdlib.h>

void Add(int a, int b)
{
	printf("%d\n", a + b);
}

void Mul(int a, int b)
{
	printf("%d\n", a*b);
}

void Sub(int a, int b)
{
	printf("%d\n", a - b);
}

void Div(int a, int b)
{
	printf("%d\n", a / b);
}

int main(int argc, char *argv[])
{
	if (argc < 4)
	{
		printf("输入格式错误,请按照指定格式输入,例如:xxx.exe -a 4 5 \n");
		system("pause");
		return 0;
	}

	int a = atoi(argv[2]);
	int b = atoi(argv[3]);
	if (strcmp("-a", argv[1]) == 0)
	{
		Add(a, b);
	}
	else if (strcmp("-s", argv[1]) == 0)
	{
		Sub(a, b);
	}
	else if (strcmp("-m", argv[1]) == 0)
	{
		Mul(a, b);
	}
	else if (strcmp("-d", argv[1]) == 0)
	{
		Div(a, b);
	}
	system("pause");
	return 0;
}
/*
直接执行exe文件会提示:

输入格式错误,请按照指定格式输入,例如:xxx.exe -a 4 5
请按任意键继续. . .

报错是因为我们没有为 main 函数设置输入参数,打开 cmd 窗口设置参数即可!!
*/
C语言 main 函数参数 main(int argc, char *argv[])

注意:exe 和后面每一个参数之间有空格隔开;


三.猜你喜欢

  1. C语言 数组下标越界和内存溢出区别
  2. C语言 使用指针遍历数组
  3. C语言 指针和数组区别
  4. C语言 指针数组和数组指针区别
  5. C语言 野指针
  6. C语言 函数值传递和址传递
  7. C语言 函数不定长参数
  8. C语言 函数指针
  9. C语言 指针函数
  10. C语言 回调函数 callback
  11. C语言 #pragma once
  12. C语言 #include <> 与 #include “” 区别
  13. C语言 const 修饰函数参数
  14. C语言 const 和 define 区别
  15. C语言 #运算符
  16. C语言 ##运算符
  17. C语言 __VA_ARGS__
  18. C语言 ##__VA_ARGS__
  19. C语言 函数不定长参数 ##__VA_ARGS__经典案例
  20. C语言 va_start 宏
  21. C语言 va_end 宏
  22. C语言 va_arg 宏
  23. C语言 vprintf 函数
  24. C语言 va_start / va_end / va_arg 自定义 printf 函数
  25. C语言 main 函数
  26. C语言 main 函数参数 main(int argc, char *argv[])

未经允许不得转载:猿说编程 » C语言 main 函数参数 main(int argc, char *argv[])
喜欢(2) 打赏

评论抢沙发

评论前必须登录!

不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!!

开始学习

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏