当前位置: 代码迷 >> 其他开发语言 >> intel fortran 的逻辑判断语句小疑点
  详细解决方案

intel fortran 的逻辑判断语句小疑点

热度:664   发布时间:2016-05-02 03:59:35.0
intel fortran 的逻辑判断语句小问题
      INTEGER*4 IT
      REAL*8  CO8(3,1500)
      IT=4
      IF(IT.LT.3.AND.ABS(CO8(IT,N)).LT.P3)then
      PAUSE 'Bad IS-15'
      end if
按照正常思路,IT.LT.3 为false, 应该直接退出,在cvf里面也是这样的,
今天转到inter fortran,貌似它仍然判断后面的ABS(CO8(IT,N)).LT.P3,因为CO8的第一维上限为3,所以出错

我也想会不会ivf是从后面向前的,于是改成

      IF(ABS(CO8(IT,N)).LT.P3.AND.IT.LT.3)then
      PAUSE 'Bad IS-15'
      end if

错误依旧,当然我知道终极解决方法是

      IF(IT.LT.3)then
      IF(ABS(CO8(IT,N)).LT.P3)then
      PAUSE 'Bad IS-15'
      end if
      end if

但我的目的是想知道到底出了神马问题?

------解决思路----------------------
.LT.改成.GT.就可以了。其实我也不知道
  相关解决方案