fmod是double型求模,试过几个数没问题,但是这样就出问题了: double a=2.8,b=0.2,c=0; c=fmod(a,b); c的结果居然是0.2,不懂,请教.
#include<stdio.h> #include<math.h> void main() { double a=2.8,b=0.2,c=0.0; c=fmod(a,b); printf("a=%.16lf,b=%.16lf,c=%.16lf\n",a,b,c); getch(); } 输出: a=2.7999999999999998,b=0.2000000000000000,c=0.1999999999999997在浮点数赋值运算过程中,浮点数有精度上的损失。