(用code blocks)pow函数没有得到100得到的是99?

#include
#include
void main()
{
int i;
for(i=3;i>=0;i--)
printf("%d ",(int)pow(10,i));
}

            得到 1000 99 10 1
            想得到1000 100 10 1

            第一次发问太紧张了 写错了很多地方 抱歉抱歉啊 已经更新了

很正常,int是强制转换,不是四舍五入,而pow作为浮点运算有精度误差。
可以用
printf("%d ",(int)(pow(10,i)+0.5);