程序在初始化期间未与Array一起运行

时间:2018-06-27 01:06:03

标签: c++ arrays initialization

我只是在练习使用数组。因此,我的程序包括将两倍数据类型的数字输入数组并打印出来。很简单。

我仅将数字限制为4。因此,数组num_List[3]在代码中。我确保正确使用for循环来读取和打印结果。

前几次我测试了代码。我意识到数组中的第4个数字是科学计数法,告诉我由于我使用的是{{,因此我忘记将array初始化为0,在本例中为0.0。 1}}。所以我输入了这段代码。

double

该代码应该已经将for (index = 0; index <= 3; index++) num_List[index] = 0.0; num_List的数组进行了初始化。但是,当我对此进行测试时,在输入4个数字之后什么也没出现。因此,我在这里犯了逻辑错误,或者是因为for循环导致了其他错误,导致它被捕获而无法继续执行。

我已经在书中读到了有关这种特殊的初始化方法的信息。

0.0

如果您专注于上述代码,并尝试对其进行编译,那么您会发现,输入4个数字后,无论是否键入数字并将其间隔最多,我的代码都不会从那里继续4个数字,或输入一个数字,然后按Enter键输入这些数字。我很可能犯了一个明显的错误,但是我在看到它时遇到了一些麻烦。

我使用代码块,因此与我用来实践代码的Bloodshed C ++编译器相比,情况有所不同。

1 个答案:

答案 0 :(得分:0)

double num_List[3];

这将声明一个包含 3 个元素的数组,索引从0到2。

for (index = 0; index <= 3; index++)

这将循环遍历4个索引,即0到 3 。当您使用num_List[3]做某事时,您得到不确定的行为。在您的试用中,未定义的行为幸运地导致了一些垃圾输出。