算术运算符后的一元运算符

时间:2014-03-06 02:40:06

标签: fortran

任何机构都可以向我解释为什么在第二行上将'+'标识为一元运算符?

              b=(x_temp(i+1,j)-x_temp(i-1,j))*(x_temp(i,j+1)-x_temp(i,j-1))/4
 >             +(y_temp(i+1,j)-y_temp(i-1,j))
 >             *(y_temp(i,j+1)-y_temp(i,j-1))/4

1 个答案:

答案 0 :(得分:2)

假设你的问题是“为什么这个代码在那里使用一元+运算符进行编译,那么实际上是一元运算符,它是一个二进制运算符延续线的第一个字符。

{6}中的>字符几乎可以肯定地表示最后两行是第一行的延续。

因此,整个表达是有效的:

b=(x_temp(i+1,j)-x_temp(i-1,j))*(x_temp(i,j+1)-x_temp(i,j-1))/4+(y_temp(i+1,j)-y_temp(i-1,j))*(y_temp(i,j+1)-y_temp(i,j-1))/4

如果您的问题更多是“为什么我的编译器无法识别行继续?”,可能是因为它希望您遵循自由格式规则,在行的末尾使用&并且/或&作为延续行中的第一个非空白字符。

这是较新的风格,Fortran77遵循旧款式。您可能必须找出哪些编译器选项会强制您的编译器识别旧样式。