命令行传参
命令行传参
1 主函数默认参数
我们常见到的主函数形式往往是这样的:
1 | int main(void) |
这种主函数是不用传参的。
但是C语言规定了主函数有两种默认参数,其形式是这样的:
1 | int main(int argc, char *argv[]) |
或者是这样的:
1 | int main(int argc, char **argv) |
以上两种方式等价。
其中argc必须是整型数据,argv必须是字符型的指针数组。
argc———向主函数传递的参数个数(程序员无需传入argc,由程序自动统计)
argv——–指针数组,指向字符型,由于第一个参数必须是exe执行文件,所以后面才是要传入的字符。各个参数之间用空格隔开。
下面用一个简单的例子演示一下:
1 |
|
编译成功以后,要对主函数进行传参。
在Dev编译环境下传参方法:
点击上方菜单栏运行(R)–> 参数(W),然后出现这个窗口:
向其中传入三个参数TEXT1 TEXT2 TEXT3,并点击确定。参数传入完毕。
运行程序即可,运行结果如下图:
在VC++6.0编译环境下传参方法:
点击上方菜单栏Project—>Settings—->Debug,在Program arguments中添加字符参数TEXT1 TEXT2 TEXT3,点击OK后,参数传递完毕。
接下来运行程序,结果如上图。
使用命令行进行传参
快捷键Windows+R,输入cmd回车以后,
将之前编译后生成的.exe文件直接拖动到黑框框的输入位置,没错,就是直接拖动!!!当然也可以按照指定路径一个一个进入,但是拖动无疑是最简便的办法。
拖动成功以后,是这样的:
Then我们要传入字符串参数。因为temp1.exe本身就是main函数的第一个参数,所以我们是从argv[1]开始传入的,传入后并运行结果如下:
2 命令行实现四则运算
要求:
制作一简单的计算器,注意事项:
1)需要计算的内容从命令行输入,格式为:执行文件 数1 op 数2,当命令行格式不正确(参数个数不为4)时,应报错。
(2)op的取值范围为+、-、*、/、%,超出此范围则应报错。
(3)数1和数2均为整数(int),op为+、-、时不考虑运算结果超出int型能表示的范围, op为/、%时不考虑除数为0的情况,但op为/时计算结果应保留2位小数。
(4)程序的返回值(即由main函数return的值和程序使用exit终止运行时返回的值,也称退出代码)规定为:
①正常运行结束时,返回0
②命令行格式不对返回1
③op超出范围时返回2
Way One:
1 |
|
运行结果: