LINUX.ORG.RU

История изменений

Исправление grem, (текущая версия) :

и это хорошо!

Если хочется поизвращаться в передаче по значению, то можно сделать так:

program hello

  interface
    function a ( s )
      real, value :: s
    end function
  end interface

   y = 7
   Print *, a ( y )
   print *, y
end program Hello

function a ( s )
   real, value :: s
   s = s + 1
   a = s*s
end function

$ gfortran -std=gnu *.f95 -o main
$ ./main 
   64.0000000    
   7.00000000    

Исправление grem, :

и это хорошо!

Если хочется поизвращаться в передаче по значению, то можно сделать так:

program hello

interface
  function a ( s )
    real, value :: s
  end function
end interface

   y = 7
   Print *, a ( y )
   print *, y
end program Hello

function a ( s )
   real, value :: s
   s = s + 1
   a = s*s
end function

$ gfortran -std=gnu *.f95 -o main
$ ./main 
   64.0000000    
   7.00000000    

Исходная версия grem, :

и это хорошо!