命令行(command line):是在命令行环境中,用户为运行程序输入命令的行。

命令行参数(command-line argument): 是同一行的附加项。

C编译器允许main()没有参数或者有两个参数

第一个参数:argc(argument count)参数计数,是一个整数

第二个参数:argv(argument value)参数值,是一个指针数组

系统用空格表示一个字符串的结束和下一个字符串的开始。

例如在命令行下输入:repeat Resistance is futile

包括命令名repeat在内有4个字符串,其中后3个供repeat使用,即参数。

这时候argc是4。argv依次存储3个参数的字符串地址。

 #include <stdio.h>

 int main(int argc,char *argv [])
{
int count; printf("The command line has %d arguments:\n",argc-);
for(count =;count <argc;count++)
printf("%d: %s\n",count,argv[count]);
printf("\n"); return ;
}

编译为可执行文件repeat,下面是通过命令行运行该程序后的输出:

C>repeat Resistance is futile

The command line has 3 arguments:

1: Resistance

2: is

3: futile

参数声明时候也会用到:char **argv;

char **argv与char *argv [] 等价;

但是char *argv []更能清晰地表示一系列字符串;

C语言讲解命令行参数的更多相关文章

  1. [日常] Go语言圣经-命令行参数

    1.编译 go build hello.go 2.go get gopl.io/ch1/helloworld 命令,就会从网上获取代码,并放到对应目录中 下载的代码会放在$GOPATH/src/gop ...

  2. R语言 使用命令行参数运行R程序

    args_test.R 代码如下: Args <- commandArgs()cat("Args[1]=",Args[1],"\n")cat(" ...

  3. [Objective-C语言教程]命令行参数(23)

    执行时,可以将一些值从命令行传递给Objective-C程序. 这些值称为命令行参数,很多时候它们对程序很重要,特别是当想要从外部控制程序而不是在代码中对这些值进行硬编码时就很有用了. 命令行参数使用 ...

  4. c语言中命令行参数argc,argv[]详解

    main(int argc,char *argv[ ]) 1.argc为整数 2.argv为指针的指针(可理解为:char **argv or: char *argv[] or: char argv[ ...

  5. C语言/Linux命令行参数argc、argv[ ]详解

    1.void main(int argc,char *argv[]) argv[]:表示的是一个指针数组,一共有argc个元素,其中存放的是指向每一个参数的指针. argc:参数个数 2.以Linux ...

  6. Python 获得命令行参数的方法

    如果想对python脚本传参数,python中对应的argc, argv(c语言的命令行参数)是什么呢?需要模块:sys参数个数:len(sys.argv)脚本名:    sys.argv[0]参数1 ...

  7. python中命令行参数

    python中的命令行参数 python中有一个模块sys,sys.argv这个属性提供了对命令行参数的访问.命令行参数是调用某个程序时除程序名外的其他参数. sys.argv是命令行参数的列表 le ...

  8. 我也要学C语言-第十九章:命令行参数

    C语言的语法规定main函数是带连个参数的,因为当初是考虑是在控制台下写程序.于是用户可以给参数微控程序.其实现在的WINDOWS程序也可以带参数.一般正规军写的应该程序一般都带命令行参数,帮助文档, ...

  9. 【嵌入式开发】C语言 命令行参数 函数指针 gdb调试

    . 作者 : 万境绝尘 转载请注明出处 : http://blog.csdn.net/shulianghan/article/details/21551397 | http://www.hanshul ...

随机推荐

  1. re.findall(?: ) ?:取消优先获取组的权限

  2. Hibernate 执行sql语句返回yntax error: syntax error, expect LPAREN, actual NOT not

    hibernate自动创建表时提示 :  ERROR: sql injection violation, syntax error: syntax error, expect LPAREN, actu ...

  3. ROS Learning-027 (提高篇-005 A Mobile Base-03) 控制移动平台 --- Twist 消息

    ROS 提高篇 之 A Mobile Base-03 - 控制移动平台 - Twist 消息 我使用的虚拟机软件:VMware Workstation 11 使用的Ubuntu系统:Ubuntu 14 ...

  4. ROS Learning-017 Arduino-For-ROS-002 第一个程序: Hello World

    Arduino For ROS-002 - 第一个程序: Hello World 我的Ubuntu系统:Ubuntu 14.04.10 TLS 32位 Arduino的版本:Arduino 1.6.1 ...

  5. poj3557 Map Generator

    传送门 题目大意 给定两个数n,p;表示n个点中任意两点连边的概率为p,求生成的图是个连通块的概率 分析 我们发现直接求产生联通块的概率并不容易,于是我们转而考虑计算不能生成联通块的概率,公式如下: ...

  6. 11.树形Model/View实例

    任务1:显示如图的树形结构 思考: 1.使用QTreeView显示. 2.Model使用QStandardItemModel,qt的一个标准model. 3.QStandardItemModel下每一 ...

  7. python-ASCII与Unicode

    # Auther: Aaron Fan'''ASCII:不支持中文,1个英文占1个字节Unicode(万国码,支持所有国家的文字显示):支持中文,但是每个英文和中文都占2个字节UTF-8(是一种针对U ...

  8. String、StringBuffer与StringBuilder之间区别 .RP

    最近学习到StringBuffer,心中有好些疑问,搜索了一些关于String,StringBuffer,StringBuilder的东西,现在整理一下. 关于这三个类在字符串处理中的位置不言而喻,那 ...

  9. wifi下远程连接Android设备方法

    问题描述: android开发真机调试过程中,我们总是会重复卸载.安装这两个过程进行调试,通常都是用数据线连接电脑,能否摆脱数据线呢? 无线调试: 前提条件,电脑和手机必须处于同一局域网. 1.手机通 ...

  10. MacBook Pro (13 英寸, 2017 年)安装win10系统

    准备: windows10系统镜像 16G或更大容量U盘(存放驱动,必须格式化为FAT) 官方提供的驱动软件 详细步骤: 1.打开Bootcamp,选择镜像文件 2.点击下一步,选择Bootcamp分 ...