我正在用 C++ 测试 pow() 函数
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
cout << pow(8,(1/3)) << endl;
return 0;
}
出于某种原因,这会返回 1。为什么会这样?
最佳答案
这是因为 1/3
是以整数计算的。除法的结果是 0
,所以 pow(x, 0)
产生 1
。
像这样将分组改为 double 分组:
cout << pow(8,(1.0/3)) << endl; // prints 2 as expected
关于c++ - 为什么 C++ 认为 8^1/3 = 1?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31888925/