【发布时间】:2015-05-01 03:44:59
【问题描述】:
我有代码:
if i < n then
x = topsep(1)
y = topsep(2)
realvor(n,1) = x + dx
realvor(n,2) = x + dy
imvor(n,1) = (realvor(n,1)*(a**2))/((realvor(n,1))**2+(realvor(n,2))**2)
imvor(n,2) = (realvor(n,2)*(a**2))/((realvor(n,1))**2+(realvor(n,2))**2)
tf = .TRUE.
else
x = botsep(1)
y = botsep(2)
realvor(n,1) = x + dx
realvor(n,2) = y - dy
imvor(n,1) = (realvor(n,1)*(a**2))/((realvor(n,1))**2+(realvor(n,2))**2)
imvor(n,2) = (realvor(n,2)*(a**2))/((realvor(n,1))**2+(realvor(n,2))**2)
tf = .FALSE.
endif
i 和 n 都定义为整数,我在 n = 1,100 的 do 循环中。这会引发以下错误:
错误:'if i 错误:“else”处 (1) 处出现意外的 ELSE 语句
错误:在“endif”处的 (1) 处需要 END DO 语句
我看不出这些错误来自哪里,无论我如何编写 if 语句(.NE. 等),它似乎都会抛出相同的东西。
【问题讨论】:
标签: if-statement fortran fortran90 gfortran