24小时热门版块排行榜    

Znn3bq.jpeg
查看: 1349  |  回复: 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 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 0831生医工第一轮调剂失败求助 +13 小熊睿睿_s 2026-04-11 17/850 2026-04-16 15:37 by Poly12123
[考研] 药学专硕调剂 +9 ? 一路生?花? 2026-04-10 11/550 2026-04-16 10:49 by noqvsozv
[考研] 289 分105500药学专硕求调剂(找B区学校) +4 白云123456789 2026-04-13 4/200 2026-04-16 00:18 by 粉沁若尘
[考研] 297,工科调剂? +3 河南农业大学-能 2026-04-14 3/150 2026-04-15 22:02 by noqvsozv
[考研] 化工学硕294分,求导师收留 +32 yzyzx 2026-04-12 36/1800 2026-04-14 17:45 by lhj2009
[考研] 279求调剂 +12 张番茄不炒蛋 2026-04-11 12/600 2026-04-14 15:38 by zs92450
[考研] 考研求调剂 +6 ban班小七 2026-04-11 6/300 2026-04-14 14:06 by 哆啦A梦只是个梦
[考研] 085600材料与化工349分求调剂 +16 李木子啊哈哈 2026-04-12 17/850 2026-04-14 09:11 by fenglj492
[考研] 305求调剂 +8 玛卡巴卡boom 2026-04-11 8/400 2026-04-14 09:04 by pengliang8036
[考研] 考研英一数一338分 +9 长江大学东校区 2026-04-13 10/500 2026-04-14 00:41 by 王珺璞
[考研] 材料考研调剂 +29 云木达达 2026-04-11 31/1550 2026-04-13 13:32 by lyh鲁老师
[考研] 344 材料专业 求调剂211 无地域要求 +8 hualkop 2026-04-11 8/400 2026-04-12 22:24 by fqwang
[考研] 326求调剂 +6 Shansyn 2026-04-10 6/300 2026-04-12 09:46 by hammer3
[考研] 291求调剂 +8 关忆北. 2026-04-11 8/400 2026-04-12 09:32 by 逆水乘风
[考研] 277 数一104,学硕,求调剂 +21 瓶子PZ 2026-04-09 23/1150 2026-04-11 23:12 by labixiaoqiao
[考研] 281求调剂 +11 觉得好的吧 2026-04-10 11/550 2026-04-11 09:35 by 逆水乘风
[考研] 一志愿北理工298英一数二已上岸,感谢各位老师 +14 Reframe 2026-04-10 16/800 2026-04-10 23:07 by caotw2020
[考研] 309求调剂 +14 wdhw 2026-04-10 15/750 2026-04-10 21:06 by zhouxiaoyu
[考研] 0858求调剂 5+5 Gky09300550, 2026-04-10 8/400 2026-04-10 19:13 by chemisry
[考研] 本科西工大 0856 324求调剂 +10 wysyjs25 2026-04-09 11/550 2026-04-10 08:37 by 5268321
信息提示
请填处理意见