我想知道使用指针变量作为循环计数的fortran程序的行为应该是什么?例如使用gfortran
,该程序:
program foo
integer, pointer :: x
integer, target :: y
x => y
do x=0,10
y = 100
print*, "hello"
enddo
end program
执行时变成无限循环。那应该发生吗?
示例程序不符合标准。不允许以任何方式更改do变量(F2008 8.1.6.6.2p3),该变量包括使用指针的“幕后”技巧。
因此,一切皆有可能。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句