运行以下代码行时:
int i,a; for(i=0;i<=4;i++) { a=pow(10,i); printf("%d\t",a); }
我很惊讶地看到了输出,结果是1 10 99 1000 9999而不是1 10 100 1000 10000.
1
10
99
1000
9999
100
10000
可能的原因是什么?
注如果您认为这是浮点不准确,那么在上面的for循环中i = 2,存储在变量中的值。a是99.
i = 2
a
但如果你改写
a=pow(10,2);
现在,a的价值出来了100..那件事怎么可能?
翻阅古今
守着一只汪
慕森卡
相关分类