黑马程序员技术交流社区

标题: 用函数指针来实现简易计算器的加减乘除 方法一 [打印本页]

作者: 38740820    时间: 2015-9-6 18:28
标题: 用函数指针来实现简易计算器的加减乘除 方法一

  1. #include <stdio.h>
  2. //求和函数
  3. int sum(int x,int y){
  4.     return x+y;
  5. }
  6. //减法函数
  7. int jian(int x,int y){

  8.     return x-y;
  9. }
  10. //乘法函数
  11. int cheng(int x,int y){
  12.     return x*y;
  13. }
  14. //除法函数
  15. float  chu(int x,int y){
  16.    
  17.     return x/(float)y;
  18.    
  19. }


  20.     int main(int argc, const char * argv[]) {
  21.         char ch;
  22.         //创建函数指针
  23.         int (*p)(int,int );
  24.         float (*q)(int ,int);//除法结果为float类型 创建另一个函数指针
  25.         printf("请输入运算符号:\n");
  26.         scanf("%c",&ch);
  27.         switch (ch) {
  28.             case '+':
  29.                 p = sum;//将p指向求和函数
  30.                 break;
  31.                 case '-':
  32.                 p=jian;//将p指向求差函数
  33.                 break;
  34.             case '*':
  35.                 p=cheng;//将p指向乘法函数
  36.                 break;
  37.                case '/':
  38.                 q=chu;//将q指向除法函数
  39.                 printf("%.2f",q(40,2));
  40.                 //如果输入除法 直接输出 结束程序
  41.                 return 0;
  42.                
  43.             default:
  44.                
  45.                 printf("亲 这只是普通计算器哦~\n");
  46.                 break;
  47.         }
  48.         int result = p(40, 2);//定义一个变量 用于接收指针p的输出结果
  49.         
  50.         printf("%d",result);
  51.         
  52.         return 0;
  53.         
  54.     }
复制代码







欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2