精华内容
下载资源
问答
  • C语言main函数参数

    2016-06-21 15:24:23
    C语言main函数参数: int main(int argc , char *argv[ ]) {  ; } 或者是:int main(int argc, char** argv) argc:命令行总的参数的个数(以空白符分隔); argv:字符串指针数组(数组内存放指向char...
    C语言main函数参数:
    int main(int argc , char *argv[ ])
    {
       ;
    }

    或者是:int main(int argc, char** argv)


    argc:命令行总的参数的个数(以空白符分隔);
    argv:字符串指针数组(数组内存放指向char类型的指针),用来存放指向字符串参数的指针数组,每个元素指向一个参数,每个元素值为命令行中各字符串的首地址;
    argv[0]:指向程序的全路径全名;
    argv[1]:指向在命令行中执行程序名后的第一个字符串;
    argv[2]:指向第二个字符串;


    例子说明:

    代码:

    # include <stdio.h>
    # include <stdlib.h>  //使用atoi()需包含的头文件
    int main(int argc , char *argv[])
    {
    int a,b,c;  //变量定义一定要放在其他语句前面!!!

    printf("argc=%d\n",argc);
    printf("\nargv[0]=%s\n",argv[0]);
    if( argc < 4 ) 
    {
    printf ("Usage  :  \n", argv[0] );
    exit(-1);
    }

    a=atoi (argv[1] );  // atof():将字符串转换为双精度浮点型值;atoi():将字符串转换为整型值;atol():将字符串转换为长整型值。
    b = atoi (argv[2] );
    c = atoi (argv[3] );

    printf("\nargv[1]=%d\n",a);
    printf("argv[2]=%d\n",b);
    printf("argv[3]=%d\n",c);

    printf("\nargv[1]=%s\n",argv[1]);
    printf("argv[2]=%s\n",argv[2]);
    printf("argv[3]=%s\n",argv[3]);

    printf("\nargv[1]=%d\n",argv[1]);
    printf("argv[2]=%d\n",argv[2]);
    printf("argv[3]=%d\n",argv[3]);

    printf("\nargv[1]=%d\n",*argv[1]);
    printf("argv[2]=%d\n",*argv[2]);
    printf("argv[3]=%d\n",*argv[3]);

    return 1;
    }

    输入参数位置:项目->属性->配置属性->调试:命令参数

    输入参数: aa dd  ff

    屏幕打印输出:

    argc=4
    argv[0]=D:\C++\10.笔试\myTest\Debug\main参数.exe

    argv[1]=0
    argv[2]=0
    argv[3]=0

    argv[1]=aa
    argv[2]=dd
    argv[3]=ff

    argv[1]=2568213
    argv[2]=2568216
    argv[3]=2568219

    argv[1]=97
    argv[2]=100
    argv[3]=102


    输入参数: 12 24  36
    屏幕打印输出:

    argc=4
    argv[0]=D:\C++\10.笔试\myTest\Debug\main参数.exe

    argv[1]=12
    argv[2]=24
    argv[3]=36

    argv[1]=12
    argv[2]=24
    argv[3]=36

    argv[1]=6565909
    argv[2]=6565912
    argv[3]=6565915

    argv[1]=49
    argv[2]=50
    argv[3]=51

    展开全文
  • C语言main函数 参数argc,*argv[]

    C语言中main函数也是可以提供参数的,我在学习的过程中很少用,但据说在开发过程中会经常遇到。

    int main(int argc, char* argv[])
    

    argc表示参数的个数;
    argv是一个指针数组,数组里面的元素是指向参数字符串的指针。
    无论输入的参数是数字、字符还是字符串,都当作字符串处理。

    argc和argv名字可以换,但是通常这个名字是程序员的约定。
    注意argc表示的实际上是参数的个数加1,因为将可执行文件的名字当作了第一个字符串 ,即argv[0]指向的字符串是可执行文件名字符串。

    //text.c文件
    #include <stdio.h>
    int main(int argc, char* argv[])
    {
    	int i;
    	printf("argc = %d\n", argc);//打印参数的个数
    	for (i = 0; i < argc; i ++ )//打印各个参数
    	{
    		printf("argcv[%d] = %s\n", i, argv[i]);
    	}
    
    	return 0;
    }
    

    在Linux命令行编译运行:

    编译:gcc -o text text.c
    运行:./text I am Talent Q.
    输出:
    argc = 5
    argcv[0] = ./text
    argcv[1] = I
    argcv[2] = am
    argcv[3] = Talent
    argcv[4] = Q.
    

    在Windows VS2019中运行:
    1、先Ctrl F7编译
    2、再去项目的文件夹中的Debug文件夹中找到exe文件
    3、在当前文件夹下打开cmd
    4、在cmd里运行

    运行:test.exe I am Talent Q.
    输出:
    argc = 5
    argcv[0] = test.exe
    argcv[1] = I
    argcv[2] = am
    argcv[3] = Talent
    argcv[4] = Q.
    
    展开全文
  • C语言规定main函数参数只能有两个, 习惯上这两个参数写为argc和argv。因此,main函数的函数头可写为: main (argc,argv)C语言还规定argc(第一个形参)必须是整型变量,argv( 第二个形参)必须是指向字符串的指针...

    我们经常用的main函数都是不带参数的。因此main 后的括号都是空括号。实际上,main函数可以带参数,这个参数可以认为是 main函数的形式参数。C语言规定main函数的参数只能有两个, 习惯上这两个参数写为argc和argv。因此,main函数的函数头可写为: main (argc,argv)C语言还规定argc(第一个形参)必须是整型变量,argv( 第二个形参)必须是指向字符串的指针数组。加上形参说明后,main函数的函数头应写为: main (argc,argv) int argv; char *argv[]; 或写成: main (int argc,char *argv[])

    由于main函数不能被其它函数调用, 因此不可能在程序内部取得实际值。那么,在何处把实参值赋予main函数的形参呢? 实际上,main函数的参数值是从操作系统命令行上获得的。当我们要运行一个可执行文件时,在DOS提示符下键入文件名,再输入实际参数即可把这些实参传送到main的形参中去。   DOS提示符下命令行的一般形式为:

    C:/>可执行文件名 参数 参数……;

    但是应该特别注意的是,main 的两个形参和命令行中的参数在位置上不是一一对应的。因为,main的形参只有二个,而命令行中的参数个数原则上未加限制。argc参数表示了命令行中参数的个数(注意:文件名本身也算一个参数),argc的值是在输入命令行时由系统按实际参数的个数自动赋予的。例如有命令行为:

    C:/>E6 24 BASIC dbase FORTRAN ,由于文件名E6 24本身也算一个参数,所以共有4个参数,因此argc取得的值为4。argv参数是字符串指针数组,其各元素值为命令行中各字符串(参数均按字符串处理)的首地址。 指针数组的长度即为参数个数。数组元素初值由系统自动赋予。

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

    while(argc–>1) printf("%s/n",*++argv);

    }

    本例是显示命令行中输入的参数。如果上例的可执行文件名为e24.exe,存放在A驱动器的盘内。因此输入的命令行为:

    C:/>a:e24 BASIC dBASE FORTRAN 则运行结果为:

    BASIC

    dBASE

    FORTRAN

    该行共有4个参数,执行main时,argc的初值即为4。argv的4个元素分为4个字符串的首地址。执行while语句,每循环一次 argv值减1,当argv等于1时停止循环,共循环三次, 因此共可输出三个参数。在printf函数中,由于打印项*++argv是先加1再打印, 故第一次打印的是argv[1]所指的字符串BASIC。第二、 三次循环分别打印后二个字符串。而参数e24是文件名,不必输出

    展开全文
  • C语言main函数返回值: main函数的返回值,用于说明程序的退出状态。如果返回0,则代表程序正常退出;返回其他数字的含义则由系统决定,通常,返回非零代表程序异常退出,即使程序运行结果正确也仍需修复代码。 ...

    C语言main函数返回值:

           main函数的返回值,用于说明程序的退出状态。如果返回0,则代表程序正常退出;返回其他数字的含义则由系统决定,通常,返回非零代表程序异常退出,即使程序运行结果正确也仍需修复代码。

    C语言main函数写法

          void main()是错误的,C/C++中从来没有定义过main。C++之父 Bjarne Stroustrup 在他的主页上的 FAQ 中明确地写着 The definition void main( ) {}is not and never has been C++, nor has it even been C.( void main( )从来就不存在于C++ 或者 C )。

    在最新的 C11 标准中,只有以下两种定义方式是正确的: 
               int main( void ) 
               int main( int argc, char *argv[] ) 
           如果不需要从命令行中获取参数,请用int main(void) ;否则请用int main( int argc, char *argv[] )。 main 函数的返回值类型必须是 int ,这样返回值才能传递给程序的激活者(如操作系统)。 如果 main 函数的最后没有写 return 语句的话,C99 规定编译器要自动在生成的目标文件中(如 exe 文件)加入return 0;不过建议我们写的时候自己加上return 0;养成良好的习惯。

    方法一:int main(void)就不说了

    方法二:int main(int argc,char *argv[]) 或  int main(int argc,char **argv)

    argc:argument count,表示参数数量的意思;

    argv:argument value,表示参数值

    如何给程序传递参数?

    Windows下生成.exe文件后,在控制台下直接在.exe文件 后加上要传递的参数即可,用空格隔开

    argv[0]:保存程序名的首地址

    argv[1]:保存输入的第一个字符串的首地址

    argv[2]:保存输入的第二个字符串的首地址

    ...

    argc:我们输入的参数个数+1,因为系统会自动给我们加一个参数,就是程序名称

    #include<stdio.h>
    int main(int argc, char *argv[])//一般使用argc来统计参个数,argv来存储参数具体值
    {
    	printf("argc is %d \n", argc);
     
    	int i;
     
    	for (i = 0; i<argc; i++)
    	{
    		printf("arcv[%d] is %s\n", i, argv[i]);
    	}
    	
    	return 0;
    }

    注:argv数组的最后一个元素存放了一个NULL的指针

    上面的代码也可以写成

    #include<stdio.h>
    int main(int argc, char **argv)//一般使用argc来统计参个数,argv来存储参数具体值
    {
    	printf("argc is %d \n", argc);
     
    	int i;
     
    	for (i=0;argv[i]!=NULL;i++)
    	{
    		//printf("arcv[%d] is %s\n", i, argv[i]);
    		printf("arcv[%d] is %s\n", i, *(argv+i));
    	}
    	
    	return 0;
    }

     

    在VS中,项目->属性->调试->命令参数   也可以设置命令参数

    方法三、int main(int argv,char * argv[],char * envp[])//参数三是环境变量

    注:envp的最后一个元素也是指向NULL

    #include<stdio.h>
    int main(int argc, char* argv[], char* envp[])
    {
    	int i = 0;
    	for (; envp[i] != NULL; i++) {
    		printf("%s\n", envp[i]);
    	}
    	printf("Hello World!\n");
    	return 0;
    }

     

    展开全文
  • main函数参数 一共有三个: 1.int argc 整型变量 2.char *argv[] 字符指针的数组,通俗一点就是字符串数组,每个元素都是字符串 3.char *envp[] 字符串数组 这三个东西再怎么神秘,也只是函数参数,只不过是main函数...
  • C语言规定main函数参数只能有两个,习惯上这两个参数写为argc和argv。因此,main函数的函数头可写为:  main (argc,argv) C语言还规定argc(第一个形参)必须是整型变量,argv(第二个形参)必须是指向字符串的指
  • int main(int argc, char **argv) { int i = 0; int status = 1; char real[5]; //int num = 0; int setpwm = 0; const char *ptr; int factor = DCM_TCNTB0/1024; if((dcm_fd=open(DCM_DEV, O_WRONLY))<...
  • linux下C语言main函数参数解析

    千次阅读 2016-06-16 10:05:53
    1. linux下常见的main函数有两种形式: int main(int argc, char **argv) int main(int argc, char * argv[]) 2. 参数介绍 第一个参数 argc:命令行中所有参数的个数(当然包括我们的程序名) 第二个参数 argv...
  • 111
  • C语言 main函数参数说明

    千次阅读 2011-04-20 17:24:00
    做个记录,防止自己忘掉...比如一个main.c文件里面的main函数定义如上所示,那么当在命令行模式下执行main.c生成的main.exe文件时,格式如下:main.exe aaa bbb ccc那么:argc=4argv[0]="main.exe"argv[1]="aaa"argv
  • int main(int argc, char *argv[],char *envp[])//第一个参数argc只的是变量的个数,第二个参数值得是对应变量的位置,第三个指的是main函数中的所有环境变量 { int i = 0; for (i = 0; envp[i] != ...
  • argc:统计命令行输入参数的个数 argv:储存了所有命令行参数   eg:假如要运行的程序为 C100.c,如果在命令行打开该文件: cat C100.c 则argc为2, argv[0]为cat,argv[1]为C100.c   作用:执行程序时,...
  • C语言main函数参数问题 常用main函数参数原型 int main(void) int main(int,char *[]) 思考 main函数参数可以是其他嘛? 比如各种乱七八糟的形式 int main(char , int ,long) … 结果 经过测试 main函数...
  • C语言main函数参数

    2020-04-29 16:02:00
    title date tags categories description ... C语言main函数参数 2019-10-25 06:44:23 -0700 main函数 C语言 main函数中包含三个参数 ...
  • 主要介绍了c语言main函数使用及其参数介绍,需要的朋友可以参考下
  • C语言main函数参数

    2019-09-26 17:46:58
    C语言规定main函数参数只能有两个,习惯上这两个参数写为argc和argv。因此,main函数的函数头可写为: main (argc,argv)C语言还规定argc(第一个形参)必须是整型变量,argv( 第二个形参)必须是指向字符串的指针...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,962
精华内容 1,184
关键字:

c语言main函数参数

c语言 订阅