| 查看: 1292 | 回复: 7 | |||
| 当前主题已经存档。 | |||
[交流]
【讨论】c 与fortran的 return 已有3人参与
|
|||
|
最近接触一个fortran程序,需要转变为标准C程序。 fortran里面有很多goto return语句,发现return在两种语言中,使用不太一样,各位有经验么? |
» 猜你喜欢
磺酰氟产物,毕不了业了!
已经有4人回复
论文终于录用啦!满足毕业条件了
已经有16人回复
求个博导看看
已经有19人回复
投稿Elsevier的杂志(返修),总是在选择OA和subscription界面被踢皮球
已经有8人回复
hakekill
木虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 1709.3
- 帖子: 131
- 在线: 19小时
- 虫号: 246017
- 注册: 2006-04-29
- 性别: GG
- 专业: 水环境与生态水利
2楼2010-03-01 21:14:46
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
- 专业: 水环境与生态水利
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
Jasonluo
至尊木虫 (知名作家)
中央书籍处书记
- 应助: 61 (初中生)
- 贵宾: 0.01
- 金币: 22628.1
- 散金: 166
- 红花: 14
- 帖子: 9258
- 在线: 680.9小时
- 虫号: 518969
- 注册: 2008-03-05
- 性别: GG
- 专业: 自然地理学

6楼2010-04-18 10:49:30
7楼2010-04-19 18:46:16
holmescn
金虫 (正式写手)
- 程序强帖: 37
- 应助: 1 (幼儿园)
- 金币: 1918.8
- 散金: 275
- 红花: 1
- 帖子: 699
- 在线: 102.6小时
- 虫号: 913482
- 注册: 2009-11-26
- 性别: GG
- 专业: 凝聚态物性 II :电子结构
8楼2010-04-19 20:36:59







回复此楼