| 查看: 1325 | 回复: 0 | |||
[求助]
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 |
» 猜你喜欢
依托企业入选了国家启明计划青年人才。有无高校可以引进的。
已经有7人回复
同年申请2项不同项目,第1个项目里不写第2个项目的信息,可以吗
已经有7人回复
依托企业入选了国家启明计划青年人才。有无高校可以引进的。
已经有10人回复
天津大学招2026.09的博士生,欢迎大家推荐交流(博导是本人)
已经有9人回复
有院领导为了换新车,用横向课题经费买了俩车
已经有10人回复
AI 太可怕了,写基金时,提出想法,直接生成的文字比自己想得深远,还有科学性
已经有6人回复
酰胺脱乙酰基
已经有13人回复
有时候真觉得大城市人没有县城人甚至个体户幸福
已经有10人回复
找到一些相关的精华帖子,希望有用哦~
Fortran怎么从一个dat文件中读取不同类型数据赋值给不同的变量?
已经有8人回复
fortran 如何在子程序中实现动态数组的定义和声明?
已经有15人回复
未分配内存的动态数组,如何作为参数传递到子函数,并在子函数中分配内存
已经有4人回复
fortran中的数组越界问题,
已经有3人回复
fortran循环求助
已经有3人回复
关于应用fortran编写高斯消去法程序来求解方程组的问题
已经有5人回复
Fortran allocate 程序段编译出错求助。
已经有5人回复
想问一下影响fortran计算速度的因素都有哪些?
已经有12人回复
[讨教]Fortran里的指针都有些什么用啊?
已经有10人回复
list-directed I/O syntax error,unit 12
已经有4人回复
fortran 随机数 每次运行都是一样的!
已经有14人回复
请教一个fortran小程序编译出错的问题,谢谢
已经有9人回复
【求助】求指点,在Fortran里面,怎样实现“数组维度可调”的数组?
已经有5人回复
科研从小木虫开始,人人为我,我为人人













回复此楼
点击这里搜索更多相关资源