Gif*_*guy 2 c c++ fortran function
这是我最近想知道的,主要是出于好奇.我有兴趣学习一些旧的编码风格,FORTRAN似乎是一个很好的起点.
我想我应该通过提供一个好的起点来帮助你们.
那么如何用FORTRAN编写这个C程序呢?
int foo ( int x , int y )
{
int tempX = x ;
x += y / 2 ;
y -= tempX * 3 ; // tempX holds x's original value.
return x * y ;
}
Run Code Online (Sandbox Code Playgroud)
我知道整个功能可以是一行:
return ( x + ( y / 2 ) ) * ( y - ( x * 3 ) ) ;
Run Code Online (Sandbox Code Playgroud)
但我要问这个问题的关键是看看这四个陈述是如何在FORTRAN中单独写出来的,而不是必然合并成一个陈述.
不要怪我 - 你说旧的编码风格:
C234567
SUBROUTINE FOO(I,J,K)
C SAVE THE ORIGINAL VALUES
IORIG = I
JORIG = J
C PERFORM THE COMPUTATION
I = I + J/2
J = J - IORIG*3
K = I * J
C RESTORE VALUES
I = IORIG
J = JORIG
END SUBROUTINE FOO
Run Code Online (Sandbox Code Playgroud)
我写这篇文章时,我不寒而栗
I和J在端部以得到作为本来的功能相同的效果(即,通过按值,所以x和y分别在调用例程不变)拜托,请不要写这样的新代码,除非作为一个笑话.