中易网

fortran90 内部过程的返回值能否有多个?

答案:1  悬赏:0  
解决时间 2021-03-17 11:03
fortran90 内部过程的返回值能否有多个?
最佳答案
不能。

任何函数,返回值都只有一个。

有几种途径来实现你期望的多个返回值。

第一,返回一个数组,存放你的多个值。
第二,也可以返回一个结构体,Type
第三,用虚参来返回。因为 Fortran 是传地址的,而不是传值的。所以你在函数内改变虚参的值,调用者的实参也会变化。
第三,用全局变量返回。(不是很推荐)

补充:
为什么只有一个?这个问题比较难理解。
CPU里有很多寄存器,分别用于不同的功能,通常来说,32位CPU的eax寄存器用来存放返回值。
因为eax只有一个,所以返回值只有一个。

可以通过虚参来获得返回数据。正如我说的第三条那样。

虽然这样也能返回数据,但叫法不能叫“返回值”了,否则会混淆概念。

子例子程序?subroutine 和 function ?我希望从概念上,不要区分这两者。

subroutine 和 function 唯一的区别就是一个有返回值,一个没有返回值。其他完全完全一摸一样。

说白了,subroutine 就是丢弃了返回值的 function。这样说的话,这两个更是没有任何区别。

子例子程序,某些中文教材喜欢这么叫。我个人认为没多大意义。两者不必区分
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
梦幻西游3技能打书!!!!!!!!!!!!
谁有beyond唱的海阔天空的粤语歌词啊?
绿色的AF1,配什么颜色牛仔裤比较和谐
金鹏托运我想知道这个在什么地方
北京无地址注册公司,找代办公司注册需要注意
女萝岩怎么走啊?
一般去4S店买车保修时间是多久?
室内儿童乐园加盟店哪个好?
坐久了或者睡觉起来脚板就疼
创鑫二手车(鄂尔多斯东胜区)地址好找么,我有
我就是因为听到朋友说,韩国卖给我们中国的化
风水卧室桌子角可以对床吗
有谁知道豆农鲜,关注度高吗?
美颜美妆怎么去啊,我要去那办事
长治市老干部局这个地址在什么地方,我要处理
推荐资讯
众鑫汽车综合性能检测地址好找么,我有些事要
高要考摩托车驾照流程?
六个核桃没开之前用手捏它就瘪了,还可以喝吗
android开发应届生 怎么吹自己的简历
玻璃珠掉到小孩子的肚子能出来吗?
临沂蓝海国际自助餐怎么付钱
拥抱自然
捷豹XJ和奥迪A6L哪个好
安德招待所(永州祁阳县)地址有知道的么?有点
建行如何临时提额
去超市买东西清单掉了可以补吗
哪个手游宠物系统最好
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?