目录
1、operator.h
2、operator.c
3、测试入口
1、operator.h
//
// Created by cjs0719 on 2022/6/11.
//
#ifndef TEST_OPERATOR_H
#define TEST_OPERATOR_H
typedef struct {
double (* Add)(double n, double m);
double (* Sub)(double n, double m);
double (* Mul)(double n, double m);
double (* Div)(double n, double m);
}FAN_OPERATOR;
extern FAN_OPERATOR FanOperator;
void InitOperator(void);
#endif //TEST_OPERATOR_H
2、operator.c
//
// Created by cjs0719 on 2022/6/11.
//
#include "operator.h"
#include
#include
static double add(double n, double m)
{
return m + n;
}
static double sub(double n, double m)
{
return n - m;
}
static double mul(double n, double m)
{
return n * m;
}
static double divnum(double n, double m)
{
if(m == 0)
{
printf("除数不能为0,m=%f",m);
return 0.0;
}
return n/m;
}
void InitOperator(void)
{
FanOperator.Add = add;
FanOperator.Sub = sub;
FanOperator.Mul = mul;
FanOperator.Div = divnum;
}
3、测试入口
#include
#include "operator.h"
FAN_OPERATOR FanOperator;
int main() {
InitOperator();
double addnum = FanOperator.Add(23,56);
printf("addnum:%.2fn",addnum);
double subnum = FanOperator.Sub(12,23);
printf("subnum:%.2fn",subnum);
double mulnum = FanOperator.Mul(20,30);
printf("mulnum:%.2fn",mulnum);
double divnum = FanOperator.Div(24,3);
printf("divnum:%.2fn",divnum);
return 0;
}
// // Created by cjs0719 on 2022/6/11. // #include "operator.h" #include#include static double add(double n, double m) { return m + n; } static double sub(double n, double m) { return n - m; } static double mul(double n, double m) { return n * m; } static double divnum(double n, double m) { if(m == 0) { printf("除数不能为0,m=%f",m); return 0.0; } return n/m; } void InitOperator(void) { FanOperator.Add = add; FanOperator.Sub = sub; FanOperator.Mul = mul; FanOperator.Div = divnum; }
3、测试入口
#include
#include "operator.h"
FAN_OPERATOR FanOperator;
int main() {
InitOperator();
double addnum = FanOperator.Add(23,56);
printf("addnum:%.2fn",addnum);
double subnum = FanOperator.Sub(12,23);
printf("subnum:%.2fn",subnum);
double mulnum = FanOperator.Mul(20,30);
printf("mulnum:%.2fn",mulnum);
double divnum = FanOperator.Div(24,3);
printf("divnum:%.2fn",divnum);
return 0;
}
输出结果展示:



