【发布时间】:2020-08-25 17:06:33
【问题描述】:
在我正在编写的程序中,我在从数组中打印数据时遇到了意外的输出。我试过浮动和双倍。代码如下:
#include <iostream>
int main()
{
double vector[3]{ 193.09375 , 338.5411682 , -4.0 };
double pVecX{ 193.09375 };
double pVecY{ 338.5411682 };
double pVecZ{ -4 };
std::cout << std::dec << vector[1] << '\n' << vector[2] << '\n' << vector[3] << '\n' << '\n';
std::cout << std::dec << pVecX << '\n' << pVecY << '\n' << pVecZ << '\n';
system("Pause");
return 0;
}
这是输出:
338.541
-4
1.42292e-306
193.094
338.541
-4
Press any key to continue . . .
问题: 我希望向量以与它们输入数组的方式相反的顺序打印。 (即使我要求 [1]..[2]..[3],它正在打印 [2]..[3]..[1](我认为这是顺序))
当数组的一部分时,数字“193.09375”变成了一个(看似)随机标记的数字,并且每次程序运行时都不同。
我正在阅读有关变量的信息,并了解存储在其初始化范围之外的变量可能会导致回绕,我只是不知道为什么会发生这种情况。 (我假设它是基于否定符号。)
我确信我错过了一些简单的东西,而且我还很新。
【问题讨论】:
-
数组索引从 0 开始。
-
vector[3]是错误的。虽然你可能有三个元素,但实际上只有 0、1、2 个索引。
标签: c++