对于数组的每个维度, 对数组分片的完整 print 命令语法如下:
print array-expression [first-expression : last-expression : stride-expression] |
其中:
求值结果应为数组类型的表达式。
某个范围内的第一个元素,也是要打印的第一个元素。缺省值为数组下界。
某个范围内的最后一个元素,但如果跨距不等于 1,则可能不是要打印的最后一个元素。缺省值为数组上界。
跨距长度。缺省值为 1。
第一个表达式、最后一个表达式和跨距表达式都是可选表达式,它们的求值结果应为整数。对于 n 维数组片,请用逗号分隔各片的定义。
例如:
(dbx) print arr(2:6) arr(2:6) = (2) 2 (3) 3 (4) 4 (5) 5 (6) 6 (dbx) print arr(2:6:2) arr(2:6:2) = (2) 2 (4) 4 (6) 6 |
要指定行和列,请键入:
demo% f95 -g -silent ShoSli.f
demo% dbx a.out
Reading symbolic information for a.out
(dbx) list 1,12
1 INTEGER*4 a(3,4), col, row
2 DO row = 1,3
3 DO col = 1,4
4 a(row,col) = (row*10) + col
5 END DO
6 END DO
7 DO row = 1, 3
8 WRITE(*,’(4I3)’) (a(row,col),col=1,4)
9 END DO
10 END
(dbx) stop at 7
(1) stop at "ShoSli.f":7
(dbx) run
Running: a.out
stopped in MAIN at line 7 in file "ShoSli.f"
7 DO row = 1, 3
|
要打印第 3 行,请键入:
(dbx) print a(3:3,1:4)
’ShoSli’MAIN’a(3:3, 1:4) =
(3,1) 31
(3,2) 32
(3,3) 33
(3,4) 34
(dbx)
|
要打印第 4 列,请键入:
(dbx) print a(1:3,4:4)
’ShoSli’MAIN’a(1:3, 1:4) =
(1,4) 14
(2,4) 24
(3,4) 34
(dbx)
|