找回密码
 注册
Simdroid-非首页
查看: 325|回复: 10

[3. Fortran] 请教fortran函数返回值是数组怎么处理

[复制链接]
jianfengxu 该用户已被删除
发表于 2005-6-27 20:17:13 | 显示全部楼层 |阅读模式 来自 上海交通大学
提示: 作者被禁止或删除 内容自动屏蔽
jianfengxu 该用户已被删除
 楼主| 发表于 2005-6-27 20:25:43 | 显示全部楼层 来自 上海交通大学
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2005-6-28 11:13:44 | 显示全部楼层 来自 湖南长沙

Re:请教fortran函数返回值是数组怎么处理

以下文件是我自己编的小程序,希望对你有帮助

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
jianfengxu 该用户已被删除
 楼主| 发表于 2005-6-28 15:17:09 | 显示全部楼层 来自 上海交通大学
提示: 作者被禁止或删除 内容自动屏蔽
jianfengxu 该用户已被删除
 楼主| 发表于 2005-6-28 15:26:05 | 显示全部楼层 来自 上海交通大学
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2005-6-29 22:42:43 | 显示全部楼层 来自 江苏南京

Re:请教fortran函数返回值是数组怎么处理

函数要返回数组,必须用interface,
不然只能返回单个数值。
jianfengxu 该用户已被删除
 楼主| 发表于 2005-6-29 22:52:24 | 显示全部楼层 来自 上海交通大学
提示: 作者被禁止或删除 内容自动屏蔽
发表于 2005-6-30 23:22:55 | 显示全部楼层 来自 江苏南京

Re:请教fortran函数返回值是数组怎么处理

这倒没用过,
好像标准中是要用interface,你试试吧
发表于 2005-7-1 10:39:40 | 显示全部楼层 来自 黑龙江哈尔滨

Re:请教fortran函数返回值是数组怎么处理

  1. PROGRAM MAIN
  2.   ! TEST ARRAY AS FUNCTION RETURN
  3.   IMPLICIT NONE
  4.   INTEGER:: L
  5.   REAL(8),DIMENSION(:),ALLOCATABLE:: X
  6.   L = 10
  7.   ALLOCATE(X(L))
  8.   X = FUN(L)
  9.   WRITE(*,*) X
  10. CONTAINS
  11.   FUNCTION FUN(L) RESULT (A)
  12.     IMPLICIT NONE
  13.     INTEGER:: L
  14.     REAL(8)::A(L)
  15.     A = 1.0
  16.   END FUNCTION FUN
  17. END PROGRAM MAIN
复制代码
  1. D:\tmp>ARRAYFUN.exe
  2.    1.00000000000000        1.00000000000000        1.00000000000000
  3.    1.00000000000000        1.00000000000000        1.00000000000000
  4.    1.00000000000000        1.00000000000000        1.00000000000000
  5.    1.00000000000000
复制代码
发表于 2005-7-8 15:28:33 | 显示全部楼层 来自 北京

Re:请教fortran函数返回值是数组怎么处理

干么不用subroutine,现在很少用function啦。
发表于 2005-7-8 17:31:34 | 显示全部楼层 来自 清华大学

Re:请教fortran函数返回值是数组怎么处理

quartzbj wrote:
干么不用subroutine,现在很少用function啦。
照顾c语言的习惯。数组返回用subroutine,这在linpack, lapack,imsl之类函数包里太普遍了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-11-2 01:22 , Processed in 0.060351 second(s), 14 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表