| 查看: 1308 | 回复: 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 |
» 猜你喜欢
三无产品还有机会吗
已经有4人回复
投稿返修后收到这样的回复,还有希望吗
已经有7人回复
压汞仪和BET测气凝胶孔隙率
已经有4人回复
博士申请都是内定的吗?
已经有14人回复
谈谈两天一夜的“延安行”
已经有13人回复
氨基封端PDMS和HDI反应快速固化
已经有11人回复
之前让一硕士生水了7个发明专利,现在这7个获批发明专利的维护费可从哪儿支出哈?
已经有11人回复
论文投稿求助
已经有4人回复
Applied Surface Science 这个期刊。有哪位虫友投过的能把word模板发给我参考一下嘛
已经有3人回复
投稿精细化工
已经有6人回复
找到一些相关的精华帖子,希望有用哦~
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人回复
科研从小木虫开始,人人为我,我为人人













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