Fortran Coder

Fortran子程序参数传递的问题

查看数: 8759 | 评论数: 2 | 收藏 0
关灯 | 提示:支持键盘翻页<-左 右->
    组图打开中,请稍候......
发布时间: 2020-7-14 01:00

正文摘要:

各位老师好, 书上说子程序是传址调用,如图用两种方式写一个意思,为什么不一样?是不是b-a是一个数学算式,就没有经过子程序?、

回复

18229702011 发表于 2020-7-14 11:32:17
非常感谢
楚香饭 发表于 2020-7-14 08:21:59
并不是一个意思。
b-a 是一个表达式,表达式有值,但不是变量,没有地址(也就不可传址),也不可引用。
而 d 是一个变量,有地址,可以传址,可以引用。

两种写法,虽然传递的值是一样的,但第一种写法,是传址,子程序中改变虚参x,对应的实参d发生改变。
而第二种写法,只能传递值2.0,子程序种改变虚参x,则某些编译器会直接报错,某些则可以临时改变,无法对应的改变实参(b-a)

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-5-6 19:52

Powered by Tencent X3.4

© 2013-2024 Tencent

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