main函数带命令行参数的使用
假设程序编译后生成的可执行文件为mycal.exe.。在命令行提示符下,通过在windows开始菜单执行cmd命令,出现:c:>,键入mycal 100+200 运行的结果为 300;键入mycal 100*200 运行的结果为20000 等。
生成.exe文件后,可直接拖入到命令行,直接打开
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
float f(int i, int j, char s);
int main(int argc,char *y[])//argc是打开命令提示符,统计从键盘中输入的个数,这样定义的y[]不是一维数组
{if (argc!=4)//输入一条式子,一共是4个,"="不算{printf("输入错误!\n");exit(EXIT_FAILURE);}int i, j,n;i = atoi(y[1]);//atoi (表示 ascii to integer)是把字符串转换成整型的一个函数j = atoi(y[3]);char s[100] = { };strcpy_s(s, 1, y[2]);n = f(i,j,*s);printf("%d %c %d =%d\n", i, j, s, n);return 0;
}
float f(int i, int j,char s)
{int n;switch (s){case'+':n = i + j;break;case'-':n = i - j;break;case'*':n = i * j;break;case'%':n = i % j;break;case'/':n = i / j;break;default:printf("错误!\n");return 0;}return n;
}
总结
- main函数命令行参数的使用:
一个程序的main()函数由两部分组成,第一个参数是int型,通常情况下将该参数命名为argc(不可改动,表示字符串的数量:argc=1+用户输入的字符串数目);第二个是字符串数组,该参数的命名可更换。 - int argc:表示字符串的数量
argc=1+用户输入的字符串数目,操作系统负责计算数量。例如:用户输入了2个字符串,则argc=1+2=3;
char* argv[]:字符串的数组,即多个字符串,用户输入的一系列字符串,字符串之间以空格间隔,形式为:
字符串1 字符串2 字符串3
最终操作系统数组为: argv[0]=可执行文件名称,例如test.exe(非用户输入,操作系统根据可执行文件名称自动生成)
argv[1]= 字符串1 argv[2]=字符串2 argv[3]=字符串3
详情请看:https://blog.csdn.net/u010260855/article/details/81411158
int main(int argc,char argv[])*
由于[ ] 的优先级高于* 所以a先和 [ ]结合,他还是一个数组,数组中的元素才是char * ,前面讲到char * 是一个变量,保存的地址。
所以 char *a[ ] = {“China”,“French”,“America”,“German”};
数组中的元素是字符串,那么sizeof(a) 是多少呢?但是其实sizeof(a) = 16; 字符串常量的本质是地址,a 数组中的元素为char * 指针,指针变量占四个字节,那么四个元素就是16个字节了
参考:https://blog.csdn.net/liusicheng2008_liu/article/details/80412586一些自动转化的函数
atof() 将字符串转换为双精度浮点型值
atoi() 将字符串转换为整型值
atol() 将字符串转换为长整型值
strtod() 将字符串转换为双精度浮点型值,并报告不能被转换的所有剩余数字
strtol() 将字符串转换为长整值,并报告不能被转换的所有剩余数字
strtoul() 将字符串转换为无符号长整型值,并报告不能被转换的所有剩余数字
main函数带命令行参数的使用相关推荐
- Unix系统编程()main函数的命令行参数
命令行参数输入双引号是什么效果? 好像可以去空格化. 转载于:https://www.cnblogs.com/tuhooo/p/8642924.html
- main函数与命令行参数
文章目录 1 main函数的概念 1.1 main函数的概念 1.2 main函数的原型 1.3 main函数的参数 1.4 main函数不一定是第一个执行的程序 1 main函数的概念 1.1 ma ...
- 【C语言进阶深度学习记录】二十九 main函数与命令行参数
文章目录 1 main函数的返回值 2 main函数的参数 2.1 main函数的参数的代码案例分析 3 main函数不一定是程序中第一个执行的函数 4 总结 1 main函数的返回值 main函数是 ...
- c语言学习进阶-C语言带命令行参数的文件数据批量计算
C语言带命令行参数的文件数据批量计算 (1)假设输入文件中的数据为多行整数,把数据文件命名为"InputData.txt",也可以命名为任意的文件名,尝试设计一个c 语言程序, 主 ...
- c语音学习进阶-C语言带命令行参数的程序设计
C语言带命令行参数的程序设计 (1)深入理解并学习带命令行参数的程序设计方法,使用c 语言完成带命令行参数的科学计算程序,能从给定的任意文件名的文件当中输入数据,并能向给定的任意文件名的输出文件当中输 ...
- vs2013中带命令行参数的调试方法
@VS2013带命令行参数的调试方法 在C++函数参数传递中,我们知道,main函数是演示C++程序如何向函数传递数组的好例子.一般来说,我们定义的大多main函数都只有空的形参列表: int mai ...
- python编写请求参数带文件_转载:如何编写一个带命令行参数的Python文件
看到别人执行一个支持命令行参数的python文件,瞬间觉得高大上起来.牛逼起来,那么如何编写一个带命令行参数的python脚本呢?不用紧张,下面将简单易懂地让你学会如何让自己的python脚本,支持命 ...
- 每日一测1(带命令行参数运行)
怎么让程序带参数运行以便适应不同的测试环境? 命令行参数在程序中的配置位置是在项目-属性-启动选项-命令行参数里 可以通过Main方法传入命令行参数(控制台程序本身就已带), 传入一个string类型 ...
- 带命令行参数的main函数的误解[到处转载的垃圾]
参考带命令行参数的main函数详解[转载] http://www.cnblogs.com/xdshennju/archive/2012/01/23/2328992.html 一个C程序总是从main( ...
最新文章
- 数据、人工智能和传感器按COVID-19新冠流感排列
- 【深度学习】基于Pytorch多层感知机的高级API实现和注意力机制(三)
- Python基础教程:用模块化来搭项目
- 对 Entity 的初步构思
- 手写简版spring --9--对象作用域和FactoryBean
- 【Linux】一步一步学Linux——apt-get命令(278)
- zabbix 监控percona
- JS 数组 Array 对象详解 与 for...of 增强型迭代
- Altium designer--DB接口DB9/DB15/DB25/DB37/DB50
- 阿里云运行python_使用阿里云运行python
- 没想到一个起点中文网都可以掀起这么大的波澜
- 列联表分析-独立性检验
- 英语六级口语 计算机,关于四六级口语,你所要知道的一些事
- python battleship_一个python初学者的作业,battleship
- 用c语言简单的指针求进制,求助!C语言用指针函数实现十进制转,十六进制,八进制,二进制...
- 反函数法生成服从特定概率密度函数的随机数
- ArcGIS教程:ArcGIS中的图表是什么
- C语言if和汇编jcc程序对比,汇编 JCC指令表与笔记
- 使用Vivado生成ADI的ADC例程(以AD9680为例)
- Android poi 根据已有模板生成新的doc文档