首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Fortran中循环字符

在Fortran中循环字符
EN

Stack Overflow用户
提问于 2017-12-01 04:23:59
回答 2查看 1.3K关注 0票数 2

我想知道在Fortran中是否可以循环字符串。例如,我想知道以下代码是否:

代码语言:javascript
复制
DO p=a,b,c,t,r
  ...
END DO

无论何时写入p,都会替换b、c、t和r。

EN

回答 2

Stack Overflow用户

发布于 2017-12-01 04:41:41

循环索引始终是标量整数。幸运的是,使用所需的“迭代”对象数组非常简单:

代码语言:javascript
复制
character, parameter :: ps(*) = ['a', 'b', 'c', 't', 'r']
integer i
character p

do i=1, SIZE(ps)
  p = ps(i)
  ...
end do

这个成语不仅仅适用于字符。

票数 4
EN

Stack Overflow用户

发布于 2017-12-01 17:02:37

或者,如果字符串OP表示长度为n的字符变量,则可能是这样的

代码语言:javascript
复制
character(len=n) :: string
...
string = 'abcdef'
...
do i = 1,n
   write(*,*) string(i:i)
end do

请注意,对于任何长度的子串(包括1),必须同时提供起始和结束索引

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47581965

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档