24小时热门版块排行榜    

CyRhmU.jpeg
查看: 3007  |  回复: 13
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

songjunann

铜虫 (小有名气)

[求助] Fortran的subroutine和function有什么区别,是在于输入输出的特点吗?

Fortran的subroutine和function有什么区别,我看到有的网页上说是在于输入输出的特点: 即function只能允许一个输出,而subroutine可以有很多输出?是这样吗?

比如一个函数

function   monsim(x,...)

.....

是不是输出变量只能是monisim?
如果x值有变化吗?即输入的x是一个值,但是function里面有关于x的赋值表达式,使得x值发生变化,那么是否 在主程序中call  monsim(x,...),会同时读到新的x值
和monsim的值? (因为我看很多function里面都把输出的结果变量名设成和函数一样的名字)。 请多多指教,谢谢!
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

【答案】应助回帖

★ ★
感谢参与,应助指数 +1
余泽成: 金币+2, 专家考核, 谢谢参与应助! 2012-03-30 14:08:03
引用回帖:
6楼: Originally posted by argo at 2012-03-25 09:19:55:
如果用全局变量,可以不写在形式参数的地方。
如果用全局变量,function也可以实现多变量返回

原则上,如果有改变程序中其它变量的情况都应该用 subroutine。function 最好不要有 side effect……
7楼2012-03-25 09:44:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

snoopyzhao

至尊木虫 (职业作家)

★ ★
余泽成: 金币+2, 专家考核, 谢谢参与应助! 2012-03-30 14:08:49
引用回帖:
10楼: Originally posted by songjunann at 2012-03-28 12:30:00:
请问,什么是side effect? 谢谢

所谓的没有 side effect 的 function,就是指,这个 function 只是输出一个结果,这个结果可以赋给一个变量,而不改程序中的变任何其它的变量,包括作为参数进入这个函数中的变量。
11楼2012-03-28 12:35:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 songjunann 的主题更新
信息提示
请填处理意见