Fortran Coder

标题: fortran函数返回多个值 [打印本页]

作者: 汤晨瑾    时间: 2017-3-20 11:42
标题: fortran函数返回多个值
大家帮我看一下,谢谢啦!
[Fortran] 纯文本查看 复制代码

do j=1,n
       (texh(j),vexh(j),hexh(j),xexh(j))=ps(pexh(j),sexh(j))
end do
(v8,h8,s8)=ptsteam(p8,t8)
(thp,vhp,hhp,shp)=px(php,xhp)
(tc,vc,hc,sc)=px(pc,xc)
(vqp,hqp,sqp)=ptsteam(pqp,tqp)

error #5082: Syntax error, found '(' when expecting one of: <LABEL> <END-OF-STATEMENT> ; BLOCK BLOCKDATA PROGRAM MODULE TYPE INTEGER REAL ...
microsoft visual studio 2010


作者: vvt    时间: 2017-3-20 13:06
(v8,h8,s8)=ptsteam(p8,t8)

这是什么意思?fortran不允许函数返回多个值。
作者: 汤晨瑾    时间: 2017-3-20 14:16
vvt 发表于 2017-3-20 13:06
(v8,h8,s8)=ptsteam(p8,t8)

这是什么意思?fortran不允许函数返回多个值。

已知压力和温度查得比容,焓还有熵。那我分开写试一试。谢谢啦!
作者: 汤晨瑾    时间: 2017-3-20 14:41
vvt 发表于 2017-3-20 13:06
(v8,h8,s8)=ptsteam(p8,t8)

这是什么意思?fortran不允许函数返回多个值。

可以了。非常感谢!
作者: chenxl    时间: 2019-1-23 14:06
请问怎么让fortran的函数返回多个值?有没有什么资料?
作者: liudy02    时间: 2019-1-23 20:25
本帖最后由 liudy02 于 2019-1-23 20:27 编辑
chenxl 发表于 2019-1-23 14:06
请问怎么让fortran的函数返回多个值?有没有什么资料?

Fortran 形式上是不允许函数返回多个值的,然而其实这并没有什么实质上的限制
完全可以在函数的形参列表里加上多个专用于返回值的参数就是了
其实做成这样也没有什么必要啊,写成子程序不就行了……

作者: pasuka    时间: 2019-1-29 09:12
参考C的做法,用结构体




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2