harysky 发表于 2024-3-24 10:50:05

数组语法

看到程序里有这么一段,不知道后括号里的(1:2)表示什么意思,翻了几本书也没找到

if (HEQ(i,j)(1:2).eq.'XX')
有没有哪位帮忙解释一下,谢谢!

Transpose 发表于 2024-3-24 11:16:18

HEQ是一个字符串数组
定义大概是这样的形式
character(len=10)::heq(10,10)

这样heq(i,j)是数组中的元素,是一个字符串, heq(i,j)(1:2)就是字符串切片

fcode 发表于 2024-3-24 19:17:25

if (HEQ(i,j)(1:2).eq.'XX')
如果 数组 HEQ 的第(i,j) 个元素,是一个字符串。
这个字符串的第1个到第2个字符,等于 'XX',也就是
如果这个字符串以XX开头,则 ......

harysky 发表于 2024-3-24 21:09:47

初学Fortran,多有感谢!
页: [1]
查看完整版本: 数组语法