用main函数传参做简单的计算器的代码

首先要说明一下,我是新手,下面的代码是我没有简化的代码,如果可以的话,请各位大牛指出简化的地方。谢谢。

#include <stdio.h>

#include <stdlib.h>

int main(int argc,char * argv[])

{

int n = 0;

double j;

double k;

if(argc < 3)   //首先判断输入的项目是否足够

{

printf("wrong\n");

return -1;

};

//printf("%d.\n",argc); //用于调试的时候检查参数输入的个数

if(‘-‘ == *argv[2]) //判断运算符号

{

n = 1;

}

else if(‘+‘ == *argv[2])

{

n = 2;

}

else if(‘*‘ == *argv[2])

{

n = 3;

}

else if(‘/‘ == *argv[2])

{

n = 4;

}

//printf("n = %d.\n",n); //调试时用于检查经过上述的判断所得到的值是多少

j = atof(argv[1]); //然后对字符串换成浮点数

k = atof(argv[3]);

switch (n) //进行输出

{

case 0:printf("ERROR.\n");break;

case 1:printf("%c %c %c = %.3f.\n",*argv[1],*argv[2],*argv[3],(j - k));break;

case 2:printf("%c %c %c = %.3f.\n",*argv[1],*argv[2],*argv[3],(j + k));break;

case 3:printf("%c %c %c = %.3f.\n",*argv[1],*argv[2],*argv[3],(j * k));break;

case 4:printf("%c %c %c = %.3f.\n",*argv[1],*argv[2],*argv[3],(j / k));break;

default:printf("ERROR.\n");break;

};

return 0;

}

时间: 2024-10-26 16:00:27

用main函数传参做简单的计算器的代码的相关文章

python函数传参是传值还是传引用?

首先还是应该科普下函数参数传递机制,传值和传引用是什么意思? 函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题.基本的参数传递机制有两种:值传递和引用传递. 值传递(passl-by-value)过程中,被调函数的形式参数作为被调函数的局部变量处理,即在堆栈中开辟了内存空间以存放由主调函数放进来的实参的值,从而成为了实参的一个副本.值传递的特点是被调函数对形式参数的任何操作都是作为局部变量进行,不会影响主调函数的实参变量的值. 引用传递(pass-

python中给函数传参是传值还是传引用

首先还是应该科普下函数参数传递机制,传值和传引用是什么意思? 函数参数传递机制问题在本质上是调用函数(过程)和被调用函数(过程)在调用发生时进行通信的方法问题.基本的参数传递机制有两种:值传递和引用传递. 值传递(passl-by-value)过程中,被调函数的形式参数作为被调函数的局部变量处理,即在堆栈中开辟了内存空间以存放由主调函数放进来的实参的值,从而成为了实参的一个副本.值传递的特点是被调函数对形式参数的任何操作都是作为局部变量进行,不会影响主调函数的实参变量的值. 引用传递(pass-

关于函数传参--传指针,传引用

今天和同学讨论到指针和引用的传递问题,有些想法从推理上讲是正确的,但是因为是推理,说出自己观点的时候不是那么有底气,本着实践是检验真理的唯一标准的原则,在电脑上敲了几段代码,验证了推理的正确性. 先上代码,再分析. 代码1: void Swap0(int a1,int b1){ int temp; temp=a1; a1=b1; b1=temp; } void Swap1(int *a1,int *b1){ //交换地址 int *temp; temp=a1; a1=b1; b1=a1; } v

1.7 C之 指针与函数传参(挺骚)

前置++和后置++的区别前置++称为前自加,后置的++称为后自加.其计算效果均为操作数自加一.当单独一个语句的时候没有区别,如果用在表达式中:i++是先自加,然后在取i的值做计算.int i =2, j:如果j = i++:那么先取i的赋值给j,于是j值为2,i值再自加,i=3.如果j =++i:那么i先自加,得到i = 2,然后再取i计算,j值为3. 函数传参中使用的指针int add(int a,int b)函数传参使用了int型数,本身是数值类型.实际调用该函数时,实参将自己拷贝一份,并将

JS函数传参实例应用:多组图片切换实例

之前的博客有一个图片切换的例子,实现了简单轮播图的点击切换的案例,今天就说一下多组轮播切换,前提是布局差不多,通过函数传参的形式减少代码应用,但是同时还能实现效果.先来看一下之前那个例子的实现图片: 那么今天我来实现两组这样的图片切换,通过传参数来实现,这样分可以减少js代码: <div class="box" id="pic1"> <img src="" /> <span>数量正在加载中--</span

函数传参课后练习—JS学习笔记2015-6-7(第51天)

老师的课后作业练习,看代码(最贵价格那个没有实现): 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 5 <title>J函数传参——商品价格计算</title> 6 </head> 7 8 <body> 9

数据类型回顾——函数传参之商品价格计算—JS学习笔记2015-6-6(第50天)

经常我们可以看到很多网站会有多个相同功能的模块,比如淘宝首页的轮播,比如新浪首页的tab切换: 那么可以看出这些地方在HTML结构上是类似的,所以我们可以考虑用一块功能代码去实现,而不同是仅仅是传递参数的不同: 例如: 1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"

[Java]_函数传参的疑惑与思考

问题来源于leetcode上的两道题 Path Sum I && II,分别写了两个dfs. 1 void dfs(TreeNode node , int sum , ArrayList<Integer> curPath) 2 void dfs(TreeNode node , int sum , boolean ifExist) 问题:在1号中我可以在方法中修改curPath,在结束函数调用时,变量修改仍然生效.   在2号问题中,我即使在函数中修改了ifExist,结束函数调

Date对象,封闭空间,函数传参和封装,获取非行间样式,字符串操作

一.Date对象 1. 获取 oDate.getFullYear() 获取年份 oDate.getMonth()+1  获取月份( 0-11)----->1-12 oDate.getDate()  获取日 1-31 oDate.getHours() 获取小时 oDate.getMinutes() 获取分 oDate.getSeconds() 获取秒 oDate.getMilliseconds();   //毫秒 oDate.getDay() 获取星期几 0-6     0:星期天 例:数码时钟