这样简单的一段语句:
float lt_wtarea, rt_wtarea;
...
lt_wtarea = l_salvage (lthand, rthand, lt_cc);
rt_wtarea = r_salvage (lthand, rthand, rt_cc);if (lt_wtarea >= rt_wtarea)
return;else{
...
}
我debug发现,lt_wtarea 和 rt_wtarea 都是1762.40. 可是为什么程序总执行else后的语句呢?谢谢!
float lt_wtarea, rt_wtarea;
...
lt_wtarea = l_salvage (lthand, rthand, lt_cc);
rt_wtarea = r_salvage (lthand, rthand, rt_cc);if (lt_wtarea >= rt_wtarea)
return;else{
...
}
我debug发现,lt_wtarea 和 rt_wtarea 都是1762.40. 可是为什么程序总执行else后的语句呢?谢谢!
1)提高精度用double型
2)用lt - rt >= 0.0001这种形式判断