【C语言】命令行参数

执行程序时,可以从命令行传值给C程序。这些值被称为命令行参数。它们对程序很重要,特别是您想从外部控制程序,而不是在代码内对这些值进行硬编码时,就显得尤为重要了。

命令行参数是使用main()函数参数来处理的,其中,argc是指传入参数的个数,argv[ ]是一个指针数组,指向传递给程序的每个参数。

下面是一个简单的实例,检查命令行是否有提供参数,并根据参数执行相应的动作。

#include<stdio.h>
int main(int argc,char *argv[]){if(argc==2){printf("The argument supplied is %s\n",argv[1]);}else if(argc>2){printf("Too many arguments supplied.\n");}else{printf("One argument expected.\n");}
}

当不传任何参数,输出:One argument expected.

笔者使用的是Dev-C++5.11,传入参数方式为:点击“运行”中的“参数”

传入参数test1,输出:The argument supplied is test1

传入参数test1 test2,输出:Too many arguments supplied.

应当指出的是,argv[0]存储程序的名称,argv[1]是一个指向第一个命令行参数的指针。*argv[n]是最后一个参数,如果没有提供任何参数,argc将为1;如果传递了一个参数,argc将被设置为2

多个命令行参数之间用空格分隔,但是如果参数本身带有空格,那么传递参数的时候应把参数放置在双引号""或单引号''内部。

这个在Dev中笔者并没有实现,而且笔者认为这并非一个好习惯,大家了解即可

//main的两个参数的参数名如下(约定俗成)
int main(int argc,char *argv[])
//也可以写成
int main(int test_argc,char *test_argv[])

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/6537.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

双fifo流水线操作——verilog练习与设计

文章目录 一、案例分析二、fifo_ctrl模块设计2.1 波形设计&#xff1a;2.2 代码实现2.2.1 fifo_ctrl2.2.2 顶层文件top_fifo_ctrl&#xff08;rx和tx模块省略&#xff09;2.2.3 仿真文件tb_fifo_ctrl 2.3波形仿真 一、案例分析 案例要求&#xff1a;写一个 fifo 控制器&#x…

SPARC VScode EIDE GDB 使用配置

前言 搞了多年的SPARC 最近接触了VSCODE插件感觉好用。想想看不是能方便调试和编译SPARC&#xff0c;决定使用开源的SPARC仿真环境和编译器来试试。感觉的却不错&#xff0c;借此献给使用SPARC的朋友们。安装 1.找微软官方的下载VSCODE. 2.电机左边的方块形状的图标&#xff0…

【强训笔记】day8

NO.3 思路&#xff1a;相乘除以最大公约数等于最小公倍数。最小公倍数等于gcd&#xff08;a&#xff0c;a%b&#xff09;递归直到b等于0。 代码实现&#xff1a; #include <iostream> using namespace std;int gcd(int a,int b) {if(b0) return a;return gcd(b,a%b); }…

【代码随想录】day48

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 一、198打家劫舍二、213打家劫舍II三、337打家劫舍III 一、198打家劫舍 class Solution { public:int rob(vector<int>& nums) {vector<int> dp(n…

二叉树的迭代遍历 | LeetCode 144. 二叉树的前序遍历、LeetCode 94. 二叉树的中序遍历、LeetCode 145. 二叉树的后序遍历

二叉树的前序遍历&#xff08;迭代法&#xff09; 1、题目 题目链接&#xff1a;144. 二叉树的前序遍历 给你二叉树的根节点 root &#xff0c;返回它节点值的 前序 遍历。 示例 1&#xff1a; 输入&#xff1a;root [1,null,2,3] 输出&#xff1a;[1,2,3]示例 2&#x…

JG/T 464-2014 集成材木门窗检测

集成材是指将木材的纤维方向基本平行的板材、小方材等在长度、宽度和厚度方向上集成胶合而成的材料&#xff0c;以集成材为主要受力构件制作的门窗&#xff0c;称为集成材木门窗。 JG/T 464-2014集成材木门窗检测项目 测试项目 测试标准 外观及表面质量 LY/T 1787 GB/T 928…

Android 安装过程三 MSG_ON_SESSION_SEALED、MSG_STREAM_VALIDATE_AND_COMMIT的处理

Android 安装过程一 界面跳转 知道&#xff0c;在InstallInstalling Activity中&#xff0c;PackageInstallerSession对象创建之后&#xff0c;接着会打开它&#xff0c;然后将安装文件进行拷贝&#xff0c;拷贝完成之后&#xff0c;会对Session对象确认。   从Session对象确…

MoE(Mixture of Experts,混合专家模型

MoE(Mixture of Experts,混合专家模型)是一种模型架构,它通过组合多个子模型(即“专家”)来提高模型的预测性能和效率。每个子模型专门处理输入空间的一个子集,而一个门控网络决定每个数据应该由哪个模型进行训练,以减少不同样本类型之间的干扰。这种架构能够在不损失性…

【北京仁爱堂】事出有因,原来是“肝”出现问题,才导致了痉挛性斜颈

痉挛性斜颈是肌张力障碍疾病中的一种&#xff0c;局限于颈部肌肉。由于颈部肌肉间断或持续的不自主的收缩&#xff0c;导致头颈部扭曲、歪斜、姿势异常。一般在30&#xff5e;40岁发病。由于痉挛性斜颈病因不明&#xff0c;西医方面药物及手术的临床疗效不甚理想&#xff0c;而…

初识Vue-组件通信(详解props和emit)

目录 一、组件通信介绍 1.概念 2.作用 3.特点 4.应用 二、组件通信语法 1.Props 1.1.在子组件中声明 props 1.2.在父组件中传递数据 2.Emit 2.1.在子组件中触发事件 2.2.在父组件中监听事件 三、应用实例 1. 购物车组件 2. 表单数据处理 四、总结 一、组件通信介…

std::sort并不支持所有的容器

std::sort并不支持所有的容器&#xff0c;无法对std::list使用std::sort()&#xff0c;但可以使用std::list的方法sort()。 #include <iostream> #include <string> #include <vector> #include <list> #include <algorithm> // std::sortin…

PHP 反序列化

一、PHP 序列化 1、对象的序列化 <?php class people{public $nameGaming;private $NationLiyue;protected $Birthday12/22;public function say(){echo "老板你好呀&#xff0c;我是和记厅的镖师&#xff0c;叫我嘉明就行&#xff0c;要运货吗你&#xff1f;"…

Linux查看某一个程序的安装路径

前提 这一方法的前提条件是&#xff1a;必须是运行着的程序。 方法 这里以查找运行的nginx的安装目录为例。 查看nginx运行进程&#xff0c;查看当前进程的PID&#xff0c;例子中的PID就是7992。 nginps -aux|grep nginx执行ls -l /proc/进程号/exe&#xff0c;然后会打印…

containerd的原理及应用详解(三)

本系列文章简介&#xff1a; 随着容器技术的迅猛发展&#xff0c;容器运行时成为了关注的焦点之一。而容器运行时的核心组件之一就是containerd。containerd是一个高度可扩展的容器运行时&#xff0c;它负责管理容器的生命周期、镜像管理以及资源隔离等核心功能。它是由Docker团…

android zygote进程启动流程

一&#xff0c;启动入口 app_main.cpp int main(int argc, char* const argv[]) {if (!LOG_NDEBUG) {String8 argv_String;for (int i 0; i < argc; i) {argv_String.append("\"");argv_String.append(argv[i]);argv_String.append("\" ")…

锂电池充放电方式曲线

作为一种“化学能-电能”相互转换的能量装置&#xff0c;锂电池在使用过程中必然会进行充电和放电&#xff0c;合理的充放电方式既能减轻锂电池的损伤程度&#xff0c;又能充分发挥锂电池的性能&#xff0c;具有重要的应用价值。 如《GB/T 31484-2015&#xff1a;电动汽车用动…

Server 2022 IIS10 PHP 7.2.33 升级至 PHP 8.3 (8.3.6)

下载最新版本 PHP 8.3 (8.3.6)&#xff0c;因为是 FastCGI 执行方式&#xff0c;选择 Non Thread Safe(非线程安全)。 若有以下提示&#xff1a; The mysqli extension is missing. Please check your PHP configuration. 或者 PHP Fatal error: Uncaught Error: Class &qu…

[C++基础学习-05]----C++函数详解

前言 在学习C的基础阶段&#xff0c;函数是一个非常重要的概念。函数是用来完成特定任务的一段代码&#xff0c;它可以被多次调用&#xff0c;并且可以接受参数和返回值。 正文 01-函数简介 函数的定义&#xff1a; 在C中&#xff0c;函数的定义通常包括函数的返回类…

Agent AI智能体:未来社会中的引领者还是挑战者?

随着Agent AI智能体的智能化水平不断提高&#xff0c;它们在未来社会中将扮演重要角色&#xff0c;并对我们的生活产生深远影响。以下是我对Agent AI智能体的角色、发展路径以及可能带来的挑战的一些看法&#xff1a; 角色与应用领域&#xff1a; 个人助理和虚拟伴侣&#xff…

Dynamics 365: 从0到1了解如何创建Custom API(1) - 在Power Apps中创建

今天介绍一下如果创建Custom API&#xff0c;我们首先需要知道它和action有什么区别&#xff0c;什么时候使用Custom API或者Action? Custom API和Action的区别 Create your own messages (Microsoft Dataverse) - Power Apps | Microsoft Learn 什么时候使用Custom API或者…