首页
登录 | 注册

调用函数-运算器


  1. #include <stdio.h>

  2. double calculator(double a, double b, char oper)
  3. {
  4.     if (oper == '+')
  5.     {
  6.         return a+b;
  7.     }
  8.     else if (oper == '-')
  9.     {
  10.         return a-b;
  11.     }
  12.     else if (oper == '*')
  13.     {
  14.         return a*b;
  15.     }
  16.     else if (oper == '/')
  17.     {
  18.         if (b == 0)
  19.         {
  20.             printf("除数不能为零\n");
  21.         }
  22.         return a/b;
  23.     }
  24.     else
  25.     {
  26.         printf("bad number\n");
  27.     }
  28.     return 0;
  29. }
  30. int main()
  31. {
  32.     double a, b;
  33.     char oper;
  34.     scanf("%lf%c%lf", &a, &oper, &b);
  35.     printf("%.1lf\n", calculator(a, b, oper));
  36.     return 0;
  37. }


相关文章

  • <C++ Primer>(第五版) 测试环境 常量表达式: const 修饰的是常量表达式吗? 新的关键字 constexpr. 简单的表达式,例子: int size() { return 10 + 20; } constex ...
  • 网络数据包收发流程(四):协议栈之packet_type
    进入函数netif_receive_skb()后,skb正式开始协议栈之旅.先上图,协议栈大致过程如下所示:跟OSI七层模型不同,linux根据包结构对网络进行分层.比如,arp头和ip头都是紧跟在以太网头后面的,所以在linux协议栈中a ...
  • kmemleak的工作原理很简单,主要是对kmalloc().vmalloc().kmem_cache_alloc()等接口分配的内存地址空间进行跟踪,通过对其地址.空间大小.分配调用栈等信息添加到PRIO搜索树中进行管理.当有匹配的内存释 ...
  • 内建函数,顾名思义,就是编译器内部实现的函数.这些函数跟关键字一样,可以直接使用,无须像标准库函数那样,要 #include 对应的头文件才能使用. 用来处理变长参数列表: 用来处理程序运行异常: 程序的编译优化.性能优化: 查看函数运行中 ...
  • 这一节,接着讲 __atttribute__ 属性声明,__atttribute__ 可以说是 GNU C 最大的特色.我们接下来继续讲一下跟内联函数相关的两个属性:noinline 和 always_inline.这两个属性的用途是告诉编 ...
  • EasyCWMP学习 OpenACS:web服务器可以用来远程管理设备. 1 代码设计思路: 1.1 EasyCWMP主体分为了两个部分: EasyCwmp Core:包含了负责与ACS服务器交互的功能 EasyCwmp DataModel ...

2020 unjeep.com webmaster#unjeep.com
12 q. 0.012 s.
京ICP备10005923号