| 查看: 1649 | 回复: 7 | |||
| 当前主题已经存档。 | |||
| 当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖 | |||
[交流]
【讨论】c 与fortran的 return 已有3人参与
|
|||
|
最近接触一个fortran程序,需要转变为标准C程序。 fortran里面有很多goto return语句,发现return在两种语言中,使用不太一样,各位有经验么? |
» 猜你喜欢
售SCI一区文章,我:8.O.55.1.O.54,科目齐全,可伽急
已经有3人回复
售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急
已经有3人回复
售SCI一区文章,我:8.O.551.O.5.4,科目全,可伽急
已经有3人回复
售SCI文章,我:8O5.5.1.O.54,科目齐全,可+急
已经有3人回复
售SCI一区T0P文章,我:8O.55.1.O.5.4,科目齐全,可+急
已经有5人回复
售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急
已经有7人回复
上海工程技术大学 激光智能制造课题组 2027级博士研究生招生
已经有6人回复
课题组招2027级博士 上海工程技术大学 激光智能制造方向
已经有6人回复
师弟论文见刊大半年才想起来申请专利,还能抢救一下吗?
已经有4人回复
有机合成以后会不会被AI改变?做科研的虫友怎么看
已经有8人回复
ftp0000
木虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 1822.1
- 帖子: 292
- 在线: 6.6小时
- 虫号: 585530
- 注册: 2008-08-08
- 专业: 凝聚态物性 II :电子结构
3楼2010-03-02 10:59:37
hakekill
木虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 1709.3
- 帖子: 131
- 在线: 19小时
- 虫号: 246017
- 注册: 2006-04-29
- 性别: GG
- 专业: 水环境与生态水利
2楼2010-03-01 21:14:46
hakekill
木虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 1709.3
- 帖子: 131
- 在线: 19小时
- 虫号: 246017
- 注册: 2006-04-29
- 性别: GG
- 专业: 水环境与生态水利
4楼2010-03-02 11:24:47
★ ★ ★
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+2):谢谢专家详细讨论! 2010-03-03 14:37
小木虫(金币+0.5):给个红包,谢谢回帖交流
余泽成(金币+2):谢谢专家详细讨论! 2010-03-03 14:37
|
貌似c的return也是这样子的啊。 比如 void function(int a,int b) { if(condition) return; ....do something... if(other_condition) return; ....something else.... [return] //编译器会自动加 } 其实所谓的return实际上是执行汇编的ret指令,这个指令就是从调用栈弹出调用前的IP,然后继续执行EIP指向指令。 实际上FORTRAN和C的return主要是语法的不一样,实际上做的事情是差不多的。 先说subroutine c中是没有子程序(subroutine)这个概念的,不过看起来subroutine比较类似c中void类型的的函数,而且参数全部是指针(C++中用引用)类型。因此subroutine中的return,变成C,也是return,没有变化。 比如 subroutine name(a, b) implicit none integer:: a, b .... return end 可以翻译成 void name(int* a, int* b) //c void name (int& a, int& b) //c++ { ..... return; } 再说function Fortran中的返回值是直接function_name = retVal这样的,而c中则是return retVal; integer function function_name(parameter1, parameter2) implicit none integer:: parameter1, parameter2 ..... function_name = .... return 建议翻译成 int function_name(int parameter1,int parameter2) { int retVal; ....... retVal = ..... return retVal; } [ Last edited by magic7004 on 2010-3-3 at 11:20 ] |

5楼2010-03-03 11:18:06










回复此楼