📄 common.f90
字号:
! Program to test COMMON and EQUIVALENCE.program common real (kind=8) a(8) real (kind=8) b(5), c(5) common /com1/b,c equivalence (a(1), b(2)) b = 100 c = 200 call common_pass call common_par (a, b,c) call global_equiv call local_equivend! Use common block to pass valuessubroutine common_pass real (kind=8) a(8) real (kind=8) b(5), c(5) common /com1/b,c equivalence (a(1), b(2)) if (any (a .ne. (/100,100,100,100,200,200,200,200/))) call abortend subroutine! Common variables as argumentsubroutine common_par (a, b, c) real (kind=8) a(8), b(5), c(5) if (any (a .ne. (/100,100,100,100,200,200,200,200/))) call abort if (any (b .ne. (/100,100,100,100,100/))) call abort if (any (c .ne. (/200,200,200,200,200/))) call abortend subroutine! Global equivalencesubroutine global_equiv real (kind=8) a(8), b(5), c(5), x(8), y(4), z(4) common /com2/b, c, y, z equivalence (a(1), b(2)) equivalence (x(4), y(1)) b = 100 c = 200 y = 300 z = 400 if (any (a .ne. (/100,100,100,100,200,200,200,200/))) call abort if (any (x .ne. (/200,200,200,300,300,300,300,400/))) call abort end! Local equivalencesubroutine local_equiv real (kind=8) a(8), b(10) equivalence (a(1), b(3)) b(1:5) = 100 b(6:10) = 200 if (any (a .ne. (/100,100,100,200,200,200,200,200/))) call abortend subroutine
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -