hoa*_*ran 2 arrays fortran fortran90
我试图DATA在Fortran 90中使用语句初始化一个数组.代码如下:
PROGRAM dt_state
IMPLICIT NONE
INTEGER :: a(4), b(2:2), c(10)
DATA a/4*0/
WRITE (6,*) a(:)
DATA a/4,3,2,1/
WRITE (6,*) a(:)
END PROGRAM dt_state
Run Code Online (Sandbox Code Playgroud)
我预计屏幕上的结果将是0 0 0 0和4 3 2 1.但是,我得到的是0 0 0 0和0 0 0 0.它意味着DATA语句不会覆盖值a,是吗?
变量只能出现在DATA语句中一次.DATA语句用于初始化,在程序启动时只执行一次.
在可执行代码中使用赋值来设置数组值
a = (/ 4, 3, 2, 1 /)
Run Code Online (Sandbox Code Playgroud)
(在Fortran 90中)
要么
a = [ 4, 3, 2, 1 ]
Run Code Online (Sandbox Code Playgroud)
(在Fortran 2003中).
最好也将此语法用于初始化.
| 归档时间: |
|
| 查看次数: |
512 次 |
| 最近记录: |