任何机构都可以向我解释为什么在第二行上将'+'标识为一元运算符?
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
答案 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遵循旧款式。您可能必须找出哪些编译器选项会强制您的编译器识别旧样式。