gpt4 book ai didi

variables - Fortran 未分配数组

转载 作者:行者123 更新时间:2023-12-03 19:57:16 34 4
gpt4 key购买 nike

我刚开始学习 Fortran,遇到了这个问题。考虑下面的简单代码。

PROGRAM random

INTEGER, DIMENSION(12):: array
PRINT *, array

END PROGRAM random
array没有赋值,但是可以打印,而且好像有几个随机元素和几个零元素。但是,如果我考虑更短的数组,请说我声明
INTEGER, DIMENSION(5):: array

那么打印的数组的所有元素都为 0。我想知道这里发生了什么?

最佳答案

当您定义一个数组并尝试在初始化它之前查看它包含的值(即通过打印)时,行为是未定义的。这取决于编译器到编译器。虽然一个编译器可能会自动将所有值设置为零(我们许多人认为这是默认值),但另一个编译器可能会将其设置为完全随机的值。这就是为什么您会看到数组值有时为零有时不是。

但是,许多编译器都可以选择在编译器级别将未分配的数组初始化为零。始终建议在使用数组之前始终对其进行初始化!

关于variables - Fortran 未分配数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24947755/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com