st_function.f90

来自「Mac OS X 10.4.9 for x86 Source Code gcc」· F90 代码 · 共 88 行

F90
88
字号
! Program to test STATEMENT functionprogram st_fuction   call simple_case    call with_function_call   call with_character_dummy   call with_derived_type_dummy   call with_pointer_dummy   call multiple_evalcontains   subroutine simple_case      integer st1, st2      integer c(10, 10)      st1 (i, j) = i + j      st2 (i, j) = c(i, j)      if (st1 (1, 2) .ne. 3) call abort      c = 3      if (st2 (1, 2) .ne. 3 .or. st2 (2, 3) .ne. 3) call abort   end subroutine   subroutine with_function_call      integer fun, st3      st3 (i, j) = fun (i) + fun (j)      if (st3 (fun (2), 4) .ne. 16) call abort   end subroutine   subroutine with_character_dummy      character (len=4) s1, s2, st4      character (len=10) st5, s0      st4 (i, j) = "0123456789"(i:j)      st5 (s1, s2) = s1 // s2      if (st4 (1, 4) .ne. "0123" ) call abort      if (st5 ("01", "02") .ne. "01  02    ") call abort   end subroutine   subroutine with_derived_type_dummy      type person         integer age         character (len=50) name      end type person      type (person) me, p, tom      type (person) st6      st6 (p) = p      me%age = 5      me%name = "Tom"      tom = st6 (me)      if (tom%age .ne. 5) call abort      if (tom%name .gt. "Tom") call abort   end subroutine   subroutine with_pointer_dummy      character(len=4), pointer:: p, p1      character(len=4), target:: i      character(len=6) a      a (p) = p // '10'      p1 => i      i = '1234'      if (a (p1) .ne. '123410') call abort   end subroutine   subroutine multiple_eval      integer st7, fun2, fun      st7(i) = i + fun(i)      if (st7(fun2(10)) .ne. 3) call abort   end subroutineend! This functon returns the argument passed on the previous call.integer function fun2 (i)  integer i  integer, save :: val = 1  fun2 = val  val = iend functioninteger function fun (i)   integer i   fun = i * 2end function

⌨️ 快捷键说明

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