考虑以下简短程序(Fortran95):
write(*,*) shape(2)
end
我尝试使用Fortran编译器(gfortran 4.8.2)和Absoft Pro Fortran 13.0.0(mac)运行此命令,结果如下:
local $./a.out
local $
更新:还尝试了gfortran 4.4.7(具有相同结果的Linux。
RESULT = SHAPE(SOURCE [, KIND])
参数:
SOURCE必须是任何类型的数组或标量。如果SOURCE是指针,则必须将其关联,并且必须分配可分配的数组。返回值:
排名第一的INTEGER数组,其中元素的数量与SOURCE的维数相同。所得数组的元素对应于SOURCE在各个维度上的扩展。如果SOURCE是标量,则结果是大小为零的秩为1的数组。如果不存在KIND,则返回值具有默认的整数种类,否则为指定的种类。
换句话说,我只会看到换行符,而不会看到结果。它不应该告诉我形状是1吗?
它正确打印了大小为零的数组shape
返回的所有元素。打印长度为零的数组将导致打印零个数字。
等级(尺寸数)为1,而不是长度。也就是说,结果不是标量,矩阵或某些高阶数组。它是一个向量。它恰好是一个没有元素的向量。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句