C语言--main函数的两个参数argc和argv

理论部分

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

代码部分

  •     未给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
 ***************
 */
  •  在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
 ***************
 */
 
  •     在windows命令行中给main函数输入参数:

    方法:

  1.     windows+R(快捷键)打开命令行->输出cmd->回车
  2.     输入上面第二步用code blocks软件生成的.exe文件的路径名
  3.     依次输入参数(注意空格的使用),
  4.     回车运行

    实验结果:

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值