⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 equiv_init_1.f90

📁 linux下编程用 编译软件
💻 F90
字号:
! Program to test initialization of equivalence blocks.  PR13742.! Some forms are not yet implemented.  These are indicated by !!$subroutine test0s  character*10 :: x = "abcdefghij"   character*10 :: y  equivalence (x,y)  character*10 :: xs(10)   character*10 :: ys(10)  equivalence (xs,ys)  data xs /10*"abcdefghij"/  if (y.ne."abcdefghij") call abort  if (ys(1).ne."abcdefghij") call abort  if (ys(10).ne."abcdefghij") call abortend  subroutine test0  integer :: x = 123  integer :: y  equivalence (x,y)  if (y.ne.123) call abortendsubroutine test1  integer :: a(3)  integer :: x = 1  integer :: y  integer :: z = 3  equivalence (a(1), x)  equivalence (a(3), z)  if (x.ne.1) call abort  if (z.ne.3) call abort  if (a(1).ne.1) call abort  if (a(3).ne.3) call abortendsubroutine test2  integer :: x  integer :: z  integer :: a(3) = 123  equivalence (a(1), x)  equivalence (a(3), z)  if (x.ne.123) call abort  if (z.ne.123) call abortendsubroutine test3  integer :: x!!$  integer :: y = 2  integer :: z  integer :: a(3)  equivalence (a(1),x), (a(2),y), (a(3),z)  data a(1) /1/, a(3) /3/  if (x.ne.1) call abort!!$  if (y.ne.2) call abort  if (z.ne.3) call abortendsubroutine test4  integer a(2)  integer b(2)  integer c  equivalence (a(2),b(1)), (b(2),c)  data a/1,2/  data c/3/  if (b(1).ne.2) call abort  if (b(2).ne.3) call abortend!!$subroutine test5!!$  integer a(2)!!$  integer b(2)!!$  integer c!!$  equivalence (a(2),b(1)), (b(2),c)!!$  data a(1)/1/!!$  data b(1)/2/!!$  data c/3/!!$  if (a(2).ne.2) call abort!!$  if (b(2).ne.3) call abort!!$  print *, "Passed test5"!!$end  program main  call test0s  call test0  call test1  call test2  call test3  call test4!!$  call test5end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -