#include <iostream.h>
#include <math.h>
int main()
{
int j=2;
int output;
output=pow(10,j);
cout<<output;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我把上面的代码写到gcc 12编译器,得到输出99而不是100.我在搜索各种网站时没有得到正确的理由.有编译器问题吗?
因为整数截断.pow()返回一个浮点值,由于浮点运算,它可能是〜99.999...; 但是,由于整数截断,甚至99.999...会被截断为99.