24小时热门版块排行榜    

查看: 2228  |  回复: 20

1xiaohua1

木虫 (正式写手)

引用回帖:
6楼: Originally posted by zhg19 at 2013-11-11 17:52:16
你的那个fun.90里的子程序是按subroutine定义的?...

不是,就是一个函数文件
活着,就要不停地做事
11楼2013-11-13 21:30:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

1xiaohua1

木虫 (正式写手)

引用回帖:
7楼: Originally posted by totu2013 at 2013-11-11 22:53:40
正解。...

你说的是?
活着,就要不停地做事
12楼2013-11-13 21:30:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

1xiaohua1

木虫 (正式写手)

引用回帖:
10楼: Originally posted by virtualzx at 2013-11-12 01:56:51
先改下主程序,加上
real, external :: fun

然后改一下子程序
function  fun(x,y) result(z)

然后直接编译,就可以了...

好的,我先试试
活着,就要不停地做事
13楼2013-11-13 21:31:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhg19

金虫 (小有名气)

【答案】应助回帖

引用回帖:
11楼: Originally posted by 1xiaohua1 at 2013-11-13 21:30:15
不是,就是一个函数文件...

函数需要提前声明的吧。

[ 发自手机版 http://muchong.com/3g ]
14楼2013-11-14 00:33:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhg19

金虫 (小有名气)

【答案】应助回帖

引用回帖:
12楼: Originally posted by 1xiaohua1 at 2013-11-13 21:30:42
你说的是?

如果是funtion,楼主可尝试在主程序里声明一下,并在主程序末尾加include ‘fun.f90’

[ 发自手机版 http://muchong.com/3g ]
15楼2013-11-14 00:37:54
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

1xiaohua1

木虫 (正式写手)

引用回帖:
14楼: Originally posted by zhg19 at 2013-11-14 00:33:01
函数需要提前声明的吧。
...

你好,子程序过程与函数过程是不同的
活着,就要不停地做事
16楼2013-11-14 16:34:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

1xiaohua1

木虫 (正式写手)

引用回帖:
7楼: Originally posted by totu2013 at 2013-11-11 22:53:40
正解。...

不是
活着,就要不停地做事
17楼2013-11-14 21:46:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

1xiaohua1

木虫 (正式写手)

引用回帖:
10楼: Originally posted by virtualzx at 2013-11-12 01:56:51
先改下主程序,加上
real, external :: fun

然后改一下子程序
function  fun(x,y) result(z)

然后直接编译,就可以了...

你好,我按照 你说的做了,总不能编译成功 ,我把两个fortran文件发给你 ,你能帮我改一下?  谢谢了

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : main.f90
  • 2013-11-14 22:07:27, 145 bytes
活着,就要不停地做事
18楼2013-11-14 22:08:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

1xiaohua1

木虫 (正式写手)

引用回帖:
10楼: Originally posted by virtualzx at 2013-11-12 01:56:51
先改下主程序,加上
real, external :: fun

然后改一下子程序
function  fun(x,y) result(z)

然后直接编译,就可以了...

另一个

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : fun.f90
  • 2013-11-14 22:12:25, 131 bytes
活着,就要不停地做事
19楼2013-11-14 22:12:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

virtualzx

木虫 (著名写手)

【答案】应助回帖

★ ★ ★ ★ ★
1xiaohua1: 金币+4, ★★★★★最佳答案 2013-11-15 09:28:29
1xiaohua1: 金币+1 2013-12-13 22:50:53
引用回帖:
19楼: Originally posted by 1xiaohua1 at 2013-11-14 09:12:30
另一个...

在fun.f90里,把
real,intent(out)::z
改为
real::z
然后在main.f90里,把
real, external :: fun
改为
real, external :: funm
然后再编译就行了。

$ gfortran *.f90 -o test.x
$ ./test.x
   8.00000000
20楼2013-11-15 06:39:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 1xiaohua1 的主题更新
信息提示
请填处理意见