C语言学习笔记--main函数的两个参数argc和argv

1、理论部分:
C语言规定main函数的参数只能有两个,习惯上这两个参数写为argc和argv。
第一个形参:argc(arguments count参数数)必须是整型变量
第二个形参:argv(arguments value/vector参数值)必须是指向字符串的指针数组。
所以main函数的函数应写为以下两种形式的一种:
int main(int argc,char *argv[]){…}
int main (int argc,char **argv){…}
第一个参数argc表示向main函数传递的参数的个数,但是它实际上要比你在命令行里输入的数据多一个,因为第一个参数它保存了该程序的路径名,也就是说,如果你向命令行输入3个数,则argc实际上等于4;
第二个参数argv保存命令行输入的参数值
argv[0]指向程序自身运行目录路径和程序名,
argv[1]指向程序在DOS命令中执行程序名后的第一个字符串
argv[2]指向第二个字符串
.......
argv[argc] 为NULL

2、代码部分:

    2.1未给main函数输入任何参数:

#include <stdio.h>

int
main(int argc, char *argv[])
{
    printf("%d\n", argc);     /*此时输入的参数是0 所以输出的argc是1*/
    printf("%s\n", argv[0]);  /*输出程序的路径地址*/

    system("pause");

    return 0;
}
/**程序输出结果:
 ***************
 *1
 *C:\Users\BA\Desktop\Project\Mian\bin\Debug\Mian.exe
 ***************
 */

    2.2在code blocks中给main函数输入三个参数:

     方法:Project->Set program 's arguments...     依次输入三个参数以空格分离,单击OK

#include <stdio.h>

int
main(int argc, char *argv[])
{
    printf("%d\n", argc);

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

    system("pause");

    return 0;
}
/**程序输出结果:
 ***************
 *4
 *C:\Users\BA\Desktop\Project\Mian\bin\Debug\Mian.exe
 *argument1
 *argument2
 *how output
 ***************
 */
 

    2.3在windows命令行中给main函数输入参数:

    方法:

    a、windows+R(快捷键)打开命令行->输出cmd->回车

    b、输入上面第二步用code blocks软件生成的.exe文件的路径名

    c、依次输入参数(注意空格的使用),

    d、回车运行

    实验结果:

猜你喜欢

转载自blog.csdn.net/tyustli/article/details/85997950