在下面的Fortran95代码中,变量NMOM是一个整数,总是等于3.
P0的值是什么,1还是-1?除以2然后乘以2比特让我感到困惑,我不确定你为什么会这样做,但这是由一位90年代的非程序员科学家写的,他不再问。
P0=1
IF(NMOM-NMOM/2*2.EQ.1)P0=-1
代码在Linux机器上使用lf95编译。
答案 0 :(得分:4)
我不知道Fortran,但我的猜测是它正在测试NMOM是奇数还是偶数。首先,用parens重写以模拟运算符优先级:
IF(NMOM-((NMOM/2)*2).EQ.1)P0=-1
如果我们使用整数数学然后(NMOM / 2)* 2 == NMOM,如果它甚至它将等于NMOM-1,如果它是奇数。