浮点数陷阱解决办法
浮点数陷阱#include stdafx.h#include stdio.hint main(int argc, char* argv[]){double ifor(i0i!
浮点数陷阱
#include "stdafx.h"
#include "stdio.h"
int main(int argc, char* argv[])
{
double i;
for(i=0;i!=10;i=i+0.1)
printf("%.1lf\n",i);
return 0;
}
请问上述代码 运行结果并求原因。
[解决办法]运行结果就是无限循环,无限输出。原因是浮点数不能这么用,浮点数都是以二进制放入内存,这样不可控;还是用整数比较好。