write_recursive.f90

来自「用于进行gcc测试」· F90 代码 · 共 40 行

F90
40
字号
! { dg-do run }! PR26766 Recursive I/O with internal units! Test case derived from example in PR! Submitted by Jerry DeLisle  <jvdelisle@gcc.gnu.org>program pr26766  implicit none  character (len=8) :: str, tmp  write (str, '(a)')  bar (1234)  if (str.ne."abcd") call abort()  str = "wxyz"  write (str, '(2a4)') foo (1), bar (1)  if (str.ne."abcdabcd") call abort()contains  function foo (i) result (s)    integer, intent(in) :: i    character (len=4)   :: s, t    if (i < 0) then       s = "1234"    else       ! Internal I/O, allowed recursive in f2003, see section 9.11       write (s, '(a)') "abcd"    end if  end function foo    function bar (i) result (s)    integer, intent(in) :: i    character (len=4)   :: s, t    if (i < 0) then      s = "4567"    else      write (s, '(a)') foo(i)    end if  end function barend program pr26766

⌨️ 快捷键说明

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