posch.for

来自「This Source-Navigator, an IDE for C/C++/」· FOR 代码 · 共 48 行

FOR
48
字号
      SUBROUTINE POSCH(SFIND,STRING,ICC1,ICC2,HOLFLG,MLEV,KPOS,ILEV)*-----------------------------------------------------------------------* positions on a specified character* input* SFIND     character looked for* STRING    string to be looked up* ICC1      first ch. in LSTRNG* ICC2      last ch.       -* HOLFLG    if TRUE, hollerith included* MLEV      max. level allowed for character (relative to ICC1...ICC2)* output* KPOS      position of ICOMP in LSTRNG, or 0* ILEV      relative level, including KPOS*-----------------------------------------------------------------------      include 'condec.h'      LOGICAL HOLFLG      CHARACTER STRING*(*),SFIND*1,STEMP*1      ILEV=0      KPOS=0      JC=ICC1-1   10 JC=JC+1      IF (JC.GT.ICC2) GOTO 999      STEMP=STRING(JC:JC)      IF(STEMP.EQ.'(')  THEN         ILEV=ILEV+1      ELSEIF(STEMP.EQ.')')  THEN         ILEV=ILEV-1      ENDIF      IF(STEMP.EQ.SFIND.AND.ILEV.LE.MLEV)  THEN         KPOS=JC         GOTO 999      ENDIF      if((index(sbase,stemp).eq.index(sbase,sfind)+26).and.     &   ilev.le.mlev) then         kpos=jc         goto 999      endif      IF(STEMP.EQ.'{')  THEN*--- start of character string         IF (.NOT.HOLFLG) THEN            I=INDEX(STRING(JC:ICC2),'}')            IF (I.EQ.0) GOTO 999            JC=I+JC-1         ENDIF      ENDIF      GOTO 10  999 END

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?