c语言中怎么理解main函数为什么传参
main函数传参是为了接收命令行参数。在C语言中,main函数可以接收两个参数,分别是argc和argv。argc表示命令行参数的个数,而argv是一个指向字符串数组的指针,其中存储了命令行参数的值。
通过传参给main函数,可以在程序运行时从命令行中接收参数,从而实现程序的灵活性和通用性。这样可以使程序具有更好的交互性,用户可以通过命令行参数来控制程序的行为,而不需要每次都修改源代码。传参给main函数也方便了程序的测试和调试,可以通过命令行参数传入不同的参数值进行测试,而不需要修改源代码。
总的来说,main函数传参可以使程序更加灵活、通用,提高程序的交互性和可扩展性。
两种传参方式
int main(int argc,char *argv[])//1.
int main(int argc,char **argv)//2.
例子:
#include"add.h"
int Add(int a,int b)
{
return a+b;
}
#ifndef _ADD_H_
#define _ADD_H_
int Add(int a,int b);
#endif
#include"sub.h"
int Sub(int a,int b)
{
return a-b;
}
#ifndef _SUB_H_
#define _SUB_H_
int Sub(int a,int b);
#endif
#include "mul.h"
int Mul(int a,int b)
{
return a*b;
}
#ifndef _MUL_H_
#define _MUL_H_
int Mul(int a,int b);
#endif
#include"div.h"
int Div(int a,int b)
{
int c=a/b;
return c;
}
#ifndef _MAIN_H_
#define _MAIN_H_
#include"add.h"
#include"mul.h"
#include"div.h"
#include"sub.h"
#endif
#ifndef _DIV_H_C
#define _DIV_H_C
int Div(int a,int b);
#endif
#include<stdio.h>
#include<stdlib.h>
#include"main.h"
//./a.out 111 - 222
int main(int argc,char *argv[])
{
if(argc !=4)
{
printf("输入有误\n");
return -1;
}
int a=0;
int b=0;
a=atoi(argv[1]);
b=atoi(argv[3]);//atoi()--将字符串转换为整形
switch(*(argv[2]))
{
case '+':printf("add=%d\n",Add(a,b));break;
case '-':printf("sub=%d\n",Sub(a,b));break;
case '*':printf("mul=%d\n",Mul(a,b));break;
case '/':printf("div=%d\n",Div(a,b));break;
default:printf("输入错误\n");
}
return 0;
}
Linux-unbuntu中,当一起编译这些代码时,会生成一个可执行文件./a.out
当想计算加法时可输入: ./a.out 1 + 2
.....
特殊 * :
当想计算乘法时可输入: ./a.out 1 '*' 2 中间用单引号把*包括,其它运算符正常使用
标签:传参,include,return,语言,int,argv,main From: https://blog.51cto.com/u_16425777/9369594