在fortran中打破多行的长逻辑语句?

时间:2016-08-26 09:05:51

标签: fortran abaqus

您好我为与Fortran链接的Abaqus编写了以下代码,但这显示了几个语法错误并且没有编译。如何修复代码以便编译?

 if(noel.le.1150.or.noel.ge.1201.and.noel.le.2350.or.noel.ge.2811.and.noel.le.8100.or.noel.ge.8331.and.noel.le.13620.or.noel.ge.14081.and.noel.le.19370.or.noel.ge.19601) 
  then
 ...action>>>
 end if

1 个答案:

答案 0 :(得分:3)

使用gfortran(假设自由格式),可以使用开关-ffree-line-length-none来启用任意长的输入行,或使用" line continuation"为:

PROGRAM test

  INTEGER :: x = 1200

  IF( &
    x .LE. 1150 &
    .OR.  &
    (x .GE. 1201 .AND. x .LE. 2350) &
    .OR. &
    (x .GE. 2811 .AND. x .LE. 8100) &
  ) THEN
    WRITE(*, *) "OK"
  ELSE
    WRITE(*, *) "KO"
  END IF

END PROGRAM