24小时热门版块排行榜    

查看: 1444  |  回复: 0

drunkfsoul

铁虫 (初入文坛)

[求助] Fortran语言:自定函数使用allocatable变量返回的问题

运行程序,result(dat)返回的结果是allocate(dat(2))后dat初始化的值,跟    dat(1)=temp,  dat(2)=1的运算没有关系。
程序监控显示,调用function gcd(a,b)时,在end function之前,dat的结果还是对的。
请问,为什么返回时,dat的值会变成初始状态呢?
我只确定跟allocateable有关,具体原因还是没搞明白。请各位大神指教!

下面是我的程序:
module gcd_module !测试可变变量返回问题,原程序为求取最小公约数。
contains
  function gcd(a,b) result(dat)
  implicit none
  integer, intent (in) :: a, b
  integer, allocatable :: dat(: )
  integer :: temp

    if (a<b) then
      temp = a
    else
      temp = b
    end if
    do while ((mod(a,temp)/=0) .or. (mod(b,temp)/=0))
      temp = temp - 1
    end do

  allocate(dat(2))
  dat(1)=temp
  dat(2)=1
  end function gcd
end module gcd_module

program ch1207
use gcd_module
implicit none
integer :: i, j
integer,dimension(2):: result

  print *, ' type in two integers'
  read *, i, j
  result = gcd(i,j)
  print *, ' gcd is ', result
end program ch1207
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

相关版块跳转 我要订阅楼主 drunkfsoul 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[论文投稿] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +3 Aj1rhIDL5ixY 2026-09-14 3/150 2026-09-15 10:38 by VMDqgnlKimtZ
[硕博家园] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +3 23jxep3nCNZb 2026-09-14 3/150 2026-09-15 09:38 by VMDqgnlKimtZ
[考研] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +3 6F5UbRU2I5hL 2026-09-14 3/150 2026-09-15 08:14 by C79jjtjAKjEn
[教师之家] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 6F5UbRU2I5hL 2026-09-14 3/150 2026-09-15 08:14 by C79jjtjAKjEn
[教师之家] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 s3fFTmArrBt6 2026-09-14 3/150 2026-09-15 07:46 by C79jjtjAKjEn
[博后之家] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +3 s3fFTmArrBt6 2026-09-14 3/150 2026-09-15 07:34 by C79jjtjAKjEn
[公派出国] 售SCI文章,我:8O.5.5.1O.54,科目全,可十急 +3 s3fFTmArrBt6 2026-09-14 3/150 2026-09-15 07:14 by C79jjtjAKjEn
[考研] 售SCI一区T0P文章,我:8.O.55.1.O.5.4,科目全,可+急 +4 LwdutQ8HoqWP 2026-09-13 4/200 2026-09-15 06:14 by 5BDX0d0WFp7t
[考研] 售SCI一区T0P文章,我:8.O.55.1.O54,科目全,可伽急 +5 3n8v2C8RimXI 2026-09-13 6/300 2026-09-15 05:38 by 5BDX0d0WFp7t
[考研] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +5 QUjhNVAcOSff 2026-09-13 6/300 2026-09-15 05:13 by 5BDX0d0WFp7t
[博后之家] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +5 QUjhNVAcOSff 2026-09-13 6/300 2026-09-15 05:01 by mibUvS8DDCwf
[公派出国] 售SCI一区T0P文章,我:8.O55.1.O.54,科目全,可十急 +6 QUjhNVAcOSff 2026-09-13 8/400 2026-09-15 05:01 by mibUvS8DDCwf
[考研] 售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急 +4 QUjhNVAcOSff 2026-09-13 4/200 2026-09-15 05:00 by mibUvS8DDCwf
[硕博家园] 售SCI一区T0P文章,我:8O.55.1.O.54,科目全,可伽急 +3 23jxep3nCNZb 2026-09-14 3/150 2026-09-15 01:21 by mibUvS8DDCwf
[博后之家] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +3 s3fFTmArrBt6 2026-09-13 4/200 2026-09-14 23:24 by vZfe6xYu34yj
[考研] 售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急 +5 LwdutQ8HoqWP 2026-09-13 5/250 2026-09-14 22:25 by vZfe6xYu34yj
[找工作] 售SCI一区文章,我:8O5.5.1.O5.4,科目全,可伽急 +5 3n8v2C8RimXI 2026-09-13 5/250 2026-09-14 22:13 by vZfe6xYu34yj
[考博] 上海工程技术大学激光智能制造课题组招收博士研究生 +4 两三岁ss 2026-09-14 4/200 2026-09-14 20:29 by 班主任的同桌
[考博] 西北工业大学材料学院电化学传感与催化课题组招收2027年推免研究生、博士生、博士后 +3 马方园 2026-09-10 4/200 2026-09-14 09:29 by Chem张zz
[教师之家] 浙江师范大学是怎么坑我的 +10 recruit123 2026-09-09 15/750 2026-09-13 10:45 by seaskyy
信息提示
请填处理意见