最近我正在研究一个项目,并在VS2008中遇到一个奇怪的问题。 在我的项目中,需要进行一些计算,但在计算之后我得到一个非法值(-1。#IND000000000000)。
例如:
double a,b,c,d;
我希望得到:
d=a*b+c*c;
但结果是-1。#IND000000000000。 但是,如果我先计算a * b:
double e=a*b;
然后我得到正确的d值:
d=e+c*c;
什么可以解释这种差异?
答案 0 :(得分:1)
您没有初始化任何变量,因此您的程序结果完全无法预测。
添加一些实际值来执行算术,事情可以更顺利地进行......
答案 1 :(得分:0)
在表达式的情况下使用圆括号作为您的良好实践。它将避免混淆运营商的优先顺序,这需要加以考虑。