<分区>
我才刚刚开始学习 C++。我遇到了一个我无法理解的奇怪案例。
它是关于声明和打印一个 double
变量。
我的第一段代码如下所示:
#include <iostream>
int main ()
{
double wage;
std::cout << wage << std::endl;
return 0;
}
在我用g++
编译这个文件并运行它之后,在我的终端中打印了一个0
,这是正常的。然后我继续添加代码行,现在它看起来像这样:
#include <iostream>
int main ()
{
double wage;
std::cout << wage << std::endl;
double salary = wage = 9999.99;
std::cout << wage << std::endl;
std::cout << salary << std::endl;
std::cout << wage
<< salary << std::endl;
return 0;
}
但是,当我尝试再次编译并运行这个程序时,出现了一个非常奇怪的小数点。
$ cpp-directory ./a.out
2.122e-314
9999.99
9999.99
9999.999999.99
从结果可以看出,有一个2.122e-314
。从我的角度来看,它应该在第一行打印 0 而不是这个数字......我不熟悉 C++ 的东西,但它是否像内存泄漏之类的......
有人可以给我提示或解释吗? 谢谢。
注意:
$ ~ g++ --version
Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/usr/include/c++/4.2.1
Apple LLVM version 8.1.0 (clang-802.0.42)
Target: x86_64-apple-darwin16.5.0
Thread model: posix
InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin