这是可能在命令行中的一些值传递给C程序执行。特别是从参数传入,而不是外界硬编码写入这些值到代码控制程序中,这些值被称为命令行参数,很多时候,它们对程序很重要。

命令行参数使用main()函数的参数,其中argc是指传递参数的数量,argv[]是一个指针数组指向传递给程序的每个参数。下面是一个简单的例子,检查命令行是否提供的任何参数,并相应地采取动作:

#includeintmain(intargc,char*argv[]){if(argc==2){printf("The argument supplied is %s

",argv[1]);}elseif(argc>2){printf("Too many arguments supplied.

");}else{printf("One argument expected.

");}}

当上面的代码被编译,并与一个参数执行,它会产生以下结果。

$./a.out testing

The argument supplied is testing

当上述代码被编译并用两个参数执行时,它产生了以下结果。

$./a.out testing1 testing2

Too many arguments supplied.

当上面的代码被编译并没有传递任何参数执行,它会产生以下结果。

$./a.out

One argument expected

应当指出的是argv[0]保存程序本身,argv[1]名称是指向提供的第一命令行参数,以及* argv[n]是最后一个参数。如果没有提供参数,argc只有一个参数,如果传递一个参数,那么argc设置为2。

通过所有用空格隔开的命令行参数,但如果参数本身具有的空间,那么可以通过这样的参数把内部用双引号“”或单引号''分开。让我们重新写上面的例子再一次,将打印程序的名称,也将在双引号内传递一个命令行参数:

#includeintmain(intargc,char*argv[]){printf("Program name %s

",argv[0]);if(argc==2){printf("The argument supplied is %s

",argv[1]);}elseif(argc>2){printf("Too many arguments supplied.

");}else{printf("One argument expected.

");}}

当上面的代码被编译以及带一些空格,但里面的双引号分隔一个参数执行,它会产生以下结果。

$./a.out "testing1 testing2"

Progranm name ./a.out

The argument supplied is testing1 testing2

¥ 我要打赏

纠错/补充

收藏

上一篇:

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

在c语言中命令行参数是什么,C语言命令行参数相关推荐

  1. 对于c语言中局部变量描述正确的是,c语言复习卷带答案.docx

    c语言复习卷带答案 <复习卷>试卷总分题号一二三四五题分得分得分一.单选题(每题1分,共计30分)1.下列选项中,不合法的变量是(D).A.int x = 3;B.char ch = 'c ...

  2. c语言中存贮班级学生的变量,C语言----变量教案.docx

    C语言----变量教案 课 题 2.2 常量和变量----变量 课型 理实一体化 授课班级 高二计算机(升学班) 课时 2 教学目标 复习巩固C语言中常量的应用: 掌握C语言中变量的命名规则及应用. ...

  3. C语言中tan函数的参数,C++_C语言中正切的相关函数总结,C语言tan()函数:正切函数 头 - phpStudy...

    C语言中正切的相关函数总结 C语言tan()函数:正切函数头文件: #include tan() 函数用来求给定值的正切值,其原型为: double tan(double x); [参数]x 为给定的 ...

  4. asin c语言中 返回值范围_大学C语言考试易错知识点总结

    作者:cggwz 来源:https://blog.csdn.net/cggwz/article/details/103740713?utm_medium=distribute.pc_relevant. ...

  5. main在c语言中的作用,main函数在C语言中是怎么定义的?有什么作用?

    main函数在C语言中是怎么定义的?有什么作用? 更新时间:2019-10-24 13:55 最满意答案 额,main不是程序的最开始啦.拿用glibc的程序来说,C语言执行的过程应该是 _start ...

  6. C语言中 二进制有哪几个运算符 (举例),C语言中位运算符有哪些

    前言继承是OOP设计中的重要概念.在C++语言中,派生类继承基类有三种继承方式:私有继承(private).保护继承(protected)和公有继承(public).一.继承规则继承是C++中的重要特 ...

  7. java语言中解释方式是什么意思,Java语言快速入门·简答T

    1 面向对象与面向过程有什么区别? 面向对象编程:既然面向的是对象,那么强调的自然就是--对象,那么对象多了,就会抽象出相应的类(对象是类的实例化),所以 · 程序是由类组成 · 程序运行的时候去调用 ...

  8. r语言中正定矩阵由于误差不正定_R语言之数据处理(一)

    在上一篇小文中,提到了关于R语言导入数据的一些方法,之后的重点就转向了数据的处理上.数据处理其实在整个数据分析项目中所占用的时间是比较多的,所以根据处理的目的不同,也有不同的处理方法.在R语言中,我通 ...

  9. 在c语言中 函数的作用是什么,C语言程序中函数的定义

    C语言程序中函数的定义 C语言的函数问题是困扰很多学者的问题的,c程序中什么是函数呢?下面啦小编为大家精心推荐的c程序中函数的定义,希望能够对您有所帮助. C语言读书笔记--函数 先来看看函数的一般形 ...

  10. c语言中单词的作用与形式,C语言基础教程:单词的用法与规则

    在C语言中,单词是由若干个有序的字符组成的,单词的集合称为词汇.C语言的单词有如下几种:标识符.关键字.运算符.分隔符.常量.字符串和注释符. 下面对上述7种单词的词法规则逐一详述,有些单词,例如,关 ...

最新文章

  1. Ubuntu下嵌入式Qt开发环境配置全攻略
  2. nyoj--203--三国志(迪杰斯特拉+背包)
  3. 求职产品经理【十六】笔试真题串讲之百度地图与大数据结合的产品
  4. 作业6--团队项目之需求
  5. C#中关于updatePanel与freeTextBox不兼容的问题 当页面刷子新后,ftb不能输入内容的解决办法
  6. CV Code|计算机视觉开源周报20200601期
  7. AOJ 1312 Where's Wally 题解《挑战程序设计竞赛》
  8. JDK源码分析(2)之 Array 相关
  9. 【Axure交互教程】拖动滑块确定评分区间效果
  10. 德勤中国成长型AI企业研究报告:迈向巅峰之路
  11. uni-app 小程序后端返回二进制流图片显示
  12. 计算机视觉、机器学习、深度学习相关开源代码集合归纳总结(二)(收藏用)
  13. 线代 [7]|实对称矩阵
  14. html压缩包怎么打开,展示电脑rar压缩包文件怎么打开?教你正确打开方式
  15. 问题 I: decimal
  16. 如何把密码写入代码,让VBA自动撤销工作表保护 / 工作簿保护(使用VBA代码 保护工作表 / 工作簿 和取消保护工作表 / 工作簿)
  17. 男人要知道的40条忠告
  18. 离散数学图论旅行规划问题_旅游路径规划问题.pdf
  19. 深度学习课程大纲_赠书 | 哈工大研究生课程的高分讲义,深度学习的the book
  20. 在qemu中添加swap分区

热门文章

  1. Python--根据计算公式:BMI = 体重(kg) / 身高(m)^2判断身体状况
  2. 14-18、物理层--物理层定义的标准,数据通信基础知识,常用编码格式,香农定律和乃奎斯特定律,数据通信基础知识总结
  3. 测试笔记之测试理论相关
  4. 数字媒体技术专业考公务员按计算机类吗,数字媒体技术专业可以报考公务员吗...
  5. 写在2010年春节前
  6. div,section,article,aside 区分
  7. htttp协议和chrome抓包工具
  8. 3DSlicer教程(1)简介
  9. 虚拟服务器多少内存,一个电影网站需要多少内存的虚拟主机
  10. 使用SQL语句对表进行插入、修改和删除数据操作