首先Pow(double a,double b)的2个参数都得是浮点数,这个你应该清楚了.
double b=1/3 的计算过程是:
首先计算1/3=0
接下来 b=(double) 0 ,0隐式转换为double类型,但 b的结果还是0
(就是说先做除法运算,算术运算符的优先级比赋值运算高),
正确的做法是 Pow(8,1f/3)
把1或3任意一个变成浮点数后再去做除法运算,这样一来1f/3的结果就不是0,而是0.3333333了
首先Pow(double a,double b)的2个参数都得是浮点数,这个你应该清楚了.
double b=1/3 的计算过程是:
首先计算1/3=0
接下来 b=(double) 0 ,0隐式转换为double类型,但 b的结果还是0
(就是说先做除法运算,算术运算符的优先级比赋值运算高),
正确的做法是 Pow(8,1f/3)
把1或3任意一个变成浮点数后再去做除法运算,这样一来1f/3的结果就不是0,而是0.3333333了