求解惑,关于浮点数
今天测试一段简单的代码程序代码:
#include<stdio.h> main() { float a=0.000001,b,c; b=a/10000; printf("b=%f\n",b); c=b*10000; printf("c=%f\n",c); return 0; }发现一个问题,它的输出是b=0.000000 c=0.000001
我想不通的是b已经等于0.000000了,c乘以一万怎么能等于0.000001呢??
换成整型就不存在这种情况了
程序代码:
#include<stdio.h> main() { int a=1,b,c; b=a/10; c=b*10; printf("%d %d",b,c); return 0; }输出是0 0
为什么出现这个现象?
求解惑