使用类型转换时,pow()会产生意外结果

0 c++

当我编写代码时

int  m=4;
print(pow(10,m/2))
Run Code Online (Sandbox Code Playgroud)

它给我的结果100.

但是,当我这样做

int  m=4;
print((int)pow(10,m/2))
Run Code Online (Sandbox Code Playgroud)

它给出了结果99.

任何人都可以建议为什么会这样吗?

Yu *_*Hao 5

编辑:

这是dev C++编译器的错误.

建议:不要再使用开发C++,它真的太旧了.