2014-03-06 108 views
0

任何机构都可以向我解释为什么要在第二行识别“+”作为一元运算符?算术运算符后面的一元运算符

   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 

回答

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遵循旧的风格。您可能需要找出哪些编译器选项会强制编译器识别旧版本。