汤晨瑾 发表于 2017-3-20 11:42:27

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:15

(v8,h8,s8)=ptsteam(p8,t8)

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

汤晨瑾 发表于 2017-3-20 14:16:18

vvt 发表于 2017-3-20 13:06
(v8,h8,s8)=ptsteam(p8,t8)

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

已知压力和温度查得比容,焓还有熵。那我分开写试一试。谢谢啦!

汤晨瑾 发表于 2017-3-20 14:41:17

vvt 发表于 2017-3-20 13:06
(v8,h8,s8)=ptsteam(p8,t8)

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

可以了。非常感谢!

chenxl 发表于 2019-1-23 14:06:59

请问怎么让fortran的函数返回多个值?有没有什么资料?

liudy02 发表于 2019-1-23 20:25:36

本帖最后由 liudy02 于 2019-1-23 20:27 编辑

chenxl 发表于 2019-1-23 14:06
请问怎么让fortran的函数返回多个值?有没有什么资料?
Fortran 形式上是不允许函数返回多个值的,然而其实这并没有什么实质上的限制
完全可以在函数的形参列表里加上多个专用于返回值的参数就是了
其实做成这样也没有什么必要啊,写成子程序不就行了……

pasuka 发表于 2019-1-29 09:12:22

参考C的做法,用结构体
页: [1]
查看完整版本: fortran函数返回多个值