点击查看代码
#include<cstdio>
#include<cmath> //使用fabs()
#pragma warning(disable:4996)
//注意:如果a和b是一个表达式,而不是一个变量,在宏定义中要给a和b单独加一个括号,保证其表达式内部的优先级不出错
const double eps = 1e-8; //定义一个极小值常量eps=10^(-8)
#define Equ(a,b) (fabs(a-b)<eps) //a-b的绝对值小于eps,则认为a==b
#define More(a,b) (a-b>eps) //a>b+eps,则认为a>b
#define MoreEqu(a,b) ((a-b)>(-eps)) //a>=b-eps,则认为a>=b
#define Less(a,b) ((a-b)<(-eps)) //a<b-eps,则认为a<b
#define LessEqu(a,b) ((a-b)<eps) //a<=b+eps,则认为a<=b
int main() {
double a = 1.23;
if (Equ(a, 1.23)) { //比较a和1.23是否相等
printf("相等\n");
}
else {
printf("不相等\n");
}
return 0;
}