在函数中声明变量(Fortran) [英] Declaring variables in function (Fortran)

查看:270
本文介绍了在函数中声明变量(Fortran)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试用Fortran(首次使用的用户)编写一个非常简单的函数:

I am trying to write a very simple function in Fortran (first-time user):

program Main 
  implicit none 
  integer function k(n) 
    integer, intent(in) :: n 
    k=n 
   end function k 
 end program Main

我遇到很多错误:

integer function k(n)
                  1
Error: Syntax error in data declaration at (1)

   integer, intent(in) :: n
                          1
Error: Unexpected data declaration statement at (1)

   end function k
     1
Error: Expecting END PROGRAM statement at (1)

   k=n
   1
Error: Symbol ‘k’ at (1) has no IMPLICIT type

   k=n
     1
Error: Symbol ‘n’ at (1) has no IMPLICIT type

我做错了什么?我正在使用gfortran的最新版本.

What am I doing wrong? I'm using the last version of gfortran.

推荐答案

任何声明的函数和程序块本地的子例程都应放在contains语句之后,例如

Any declared functions and subroutines local to the program block should be put after a contains statement, for example

program Main 
  implicit none 
 contains
  integer function k(n) 
    integer, intent(in) :: n 
    k=n 
   end function k 
end program Main

要举一个使用此程序的示例,您可以拥有

To give an example of a program using this you could have

program Main 
  implicit none 
  integer :: myLocalN
  myLocalN = 2
  print*, "My local N is ", myLocalN
  print*, "The value of this squared is", sq(myLocalN)
 contains
  integer function sq(n) 
    integer, intent(in) :: n 
    sq=n*n 
   end function sq
end program Main

这篇关于在函数中声明变量(Fortran)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆