我想知道在Fortran中是否可以循环字符串。例如,我想知道以下代码是否:
DO p=a,b,c,t,r
...
END DO无论何时写入p,都会替换b、c、t和r。
发布于 2017-12-01 04:41:41
循环索引始终是标量整数。幸运的是,使用所需的“迭代”对象数组非常简单:
character, parameter :: ps(*) = ['a', 'b', 'c', 't', 'r']
integer i
character p
do i=1, SIZE(ps)
p = ps(i)
...
end do这个成语不仅仅适用于字符。
发布于 2017-12-01 17:02:37
或者,如果字符串OP表示长度为n的字符变量,则可能是这样的
character(len=n) :: string
...
string = 'abcdef'
...
do i = 1,n
write(*,*) string(i:i)
end do请注意,对于任何长度的子串(包括1),必须同时提供起始和结束索引
https://stackoverflow.com/questions/47581965
复制相似问题