C语言求助,利用函数的指针变量,输入两个数选择四则运算中的一种进行运算?

如题所述

#include <stdio.h>

#include <stdlib.h>




double my_add(double a, double b) { return a + b; }

double my_sub(double a, double b) { return a - b; }

double my_mul(double a, double b) { return a * b; }

double my_div(double a, double b) { return a / b; }


typedef double (*cal_fp)(double a, double b);


double my_cal(double a, double b, cal_fp fp)

{

    return fp(a, b);

}


int main()

{

    double a, b, r;

    char sign;


    scanf("%lf %c %lf", &a, &sign, &b);

    switch(sign)

    {

        case '+': r = my_cal(a, b, my_add); break;

        case '-': r = my_cal(a, b, my_sub); break;

        case '*': r = my_cal(a, b, my_mul); break;

        case '/': r = my_cal(a, b, my_div); break;

    }

    printf("%lf %c %lf = %lf\n", a, sign, b, r);


    return 0;

}


温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-12-16

相似回答