Visual Studio(C) - 打印inf ..我如何获得价值?

时间:2016-01-31 04:29:08

标签: c

我正在为学校做一个项目,经过计算后,打印结果总是“inf”。我做了很多研究,我无法弄清楚如何显示计算的值。

程序可以这样:

用户在特定范围内输入高和低扭曲因子和增量值。然后程序计算从低翘曲因子点到高翘曲因子点的速度,并将每个结果打印到屏幕。

老星跋涉的速度计算是v =(w ^ 3)* c 新星跋涉的速度计算是v =(w ^(10/3))* c

v是速度,w是扭曲因子,c是光速。这些计算是从学校提供的。变量newV代表新一代的速度计算,并且总是显示为'inf'。我被困在这里,不知道该怎么做。

以下是代码:

double oldV = 0.0;                          
double newV = 0.0;                      
const double c = 299792458.0;   

for (double i = low; i < high; i = i+increment)
{

    oldV = ((pow(low, 3))*c)*3.6;
    newV = pow(low, (10 / (float)3)*c)*3.6;
    low = low + increment;
    printf("%20.2f%20.2lf%20.2a\n", i, oldV, newV);

}//end of calculation for loop

我知道这是一个阅读,但我必须解释,提前感谢帮助!

1 个答案:

答案 0 :(得分:2)

这一行你的括号错了:

newV = pow(low, (10 / (float)3)*c)*3.6;

根据给出的公式,c应该在pow函数之外:

newV = pow(low, (10 / (float)3))*c*3.6;